1.下载异步上传的js文件
ajaxfileupload.js
2.页面引入js文件
<script type="text/javascript" src="<%=request.getContextPath()%>/static/js/ajaxfileupload.js"></script>
3.具体方法
function mnUpload(){
$.ajaxFileUpload({
url:'/seeyon/letter.do?method=letterUpload',
secureuri:false,
fileElementId:'file',//file标签的id
dataType: 'json',//返回数据的类型
success: function (data, status) {
$(“#filed”).val(data.fileId);
$("#fileNameStep").text(data.fileName);
},
error: function (data, status, e) {
}
});
}
4.html文件内容
<span class="form_td"><span class="form_title">上传公函:</span></span>
<span class="form_td" id="files">
<input type="file" id="file" name="file" οnchange="mnUpload()"/>
<span id="fileNameStep">${file.name}</span>
<input type="hidden" name="fileId" id="fileId" value="${file.id}"/>
</span>
5.后台java文件接受上传文件的方法
public void letterUpload(HttpServletRequest request, HttpServletResponse response) throws Exception{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=GB2312");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM-dd");
String filePaths = "letter/"+sdff.format(new Date())+"/";
try {
Upload upload = new Upload();
Map<String,Object> map = upload.uploadFile(request, filePaths);
MultipartFile file = (MultipartFile) map.get("file");
KdFile kdFile = new KdFile();
kdFile.setId((Long) map.get("id"));
kdFile.setName(file.getOriginalFilename());
kdFile.setType(String.valueOf(map.get("fileType")));
kdFile.setPath(String.valueOf(map.get("path")));
kdFile.setSize(String.valueOf(file.getSize()));
kdFile.setReName((Long) map.get("id"));
Date date = new Date();
sdf.format(date);
kdFile.setTime(date);
//新增上传数据到数据库上传表
kdFileManager.add(kdFile);
JSONObject ss=new JSONObject(); //新建json对象
Long fileId=(Long) map.get("id");
ss.put("fileId",fileId.toString());
ss.put("fileName",kdFile.getName());
response.getWriter().print(ss);
} catch (IllegalStateException e) {
logger.error("获取request异常");
e.printStackTrace();
} catch (IOException e) {
logger.error("上传文件异常");
e.printStackTrace();
}
}