国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用ajaxfileupload.js實現上傳文件功能

2019-11-20 09:15:04
字體:
來源:轉載
供稿:網友

一直以來上傳文件都是使用form表單上傳文件,也看到過有人使用js上傳文件,不過看起來蠻簡單的也就沒有怎么去理會。今天突然要使用這種方式上傳文件,期間還遇到點問題。因此就記錄下來,方便以后遇到這樣的問題可以查看。

首先就是引入js和ajaxfileupload的文件,這個不需要多說。

然后就是ajax請求后臺地址。代碼如下: 

 <div class="btn-file-box pos-rel">   <input type="file" id="upload" name="upload" style="font-size: 0;opacity: 0;width: 100%;height: 100%;position: absolute;left: 0;top: 0;"/> <span class="btn ">選擇文件</span> </div> $("#upload").on("change",function(){    $.ajaxFileUpload({      url : '/test/user/imgUpload',//后臺請求地址      type: 'post',//請求方式 當要提交自定義參數時,這個參數要設置成post      secureuri : false,//是否啟用安全提交,默認為false。       fileElementId : 'upload',// 需要上傳的文件域的ID,即<input type="file">的ID。      dataType : 'json',//服務器返回的數據類型。可以為xml,script,json,html。如果不填寫,jQuery會自動判斷。如果json返回的帶pre,這里修改為json即可解決。      success : function (json, status) {//提交成功后自動執行的處理函數,參數data就是服務器返回的數據。         alert(json.retMsg);      },      error : function (json, status, e) {//提交失敗自動執行的處理函數。              }    });  }); 

前臺代碼完成就開始開發后臺代碼了。

package com.roc.test;import java.io.File;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.ws.rs.Consumes;import javax.ws.rs.POST;import javax.ws.rs.Path;import javax.ws.rs.Produces;import javax.ws.rs.QueryParam;import javax.ws.rs.core.Context;import javax.ws.rs.core.MediaType;import net.sf.json.JSONObject;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import org.jboss.resteasy.annotations.providers.jaxb.json.BadgerFish;import org.springframework.stereotype.Controller;import net.sf.json.JSONObject;/** * 上傳文件 * @author liaowp * */@Controller@Path("/user")public class UploadImg {    @Path("/imgUpload")  @POST  @Produces("application/json; charset=utf-8")  @Consumes(MediaType.MULTIPART_FORM_DATA )   @BadgerFish  public JSONObject upload(@QueryParam("orderId") String orderId,@Context HttpServletRequest request,@Context HttpServletResponse response) {    JSONObject jsonobj = new JSONObject();    String file_path=request.getSession().getServletContext().getRealPath("/")+File.separator+"corpfile"+File.separator;//文件存儲路徑      String upload_file_path="";    File file =new File(file_path);      if(!file.exists() && !file.isDirectory()){ //如果文件夾不存在則創建           file.mkdir();       upload_file_path=file_path;    }else{       upload_file_path=file_path;    }    DiskFileItemFactory factory = new DiskFileItemFactory(); // 設置工廠     factory.setRepository(new File(file_path));// 設置文件存儲位置    factory.setSizeThreshold(2048 * 1024);// 設置大小,如果文件小于設置大小的話,放入內存中,如果大于的話則放入磁盤中    ServletFileUpload upload = new ServletFileUpload(factory);    upload.setHeaderEncoding("utf-8");// 這里就是中文文件名處理的代碼,其實只有一行    String fileName = "";    List<FileItem> list;    JSONObject jsonobj = new JSONObject();    try {      list = upload.parseRequest(request);      for (FileItem item : list) {        if (item.isFormField()) {          String name = item.getFieldName();          String value = item.getString("utf-8");        } else {          String name = item.getFieldName();          String value = item.getName();          fileName =name + ".jpg";          if (item.getSize() > 10485760) {//您好,上傳文件要小于10M!            jsonobj.put("retCode","100");            jsonobj.put("retMsg","您好,上傳文件要小于10M!"):          } else {//上傳成功            item.write(new File(upload_file_path, fileName));            System.out.println(File.separator + "corpfile" + File.separator + fileName);            jsonobj.put("retCode","0");            jsonobj.put("retMsg","您好,上傳成功!");          }        }      }    } catch (Exception e) {//上傳失敗      e.printStackTrace();      jsonobj.put("retCode","9999");       jsonobj.put("retMsg","您好,文件上傳失敗,");    }    return jsonobj;  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涪陵区| 彝良县| 上栗县| 岑溪市| 洛宁县| 金坛市| 昌乐县| 湟源县| 新巴尔虎左旗| 印江| 彰化市| 河津市| 开原市| 朔州市| 德令哈市| 林口县| 香港 | 鸡西市| 丹巴县| 郴州市| 鄂温| 龙陵县| 淳安县| 南部县| 长宁区| 桃园市| 峨山| 通江县| 旺苍县| 霍林郭勒市| 泰顺县| 扎鲁特旗| 资中县| 红安县| 武定县| 鹤峰县| 云梦县| 乐陵市| 韩城市| 霍邱县| 彭山县|