ajax 异步上传文件框架使用 servlet 技术
异步上传图片,对于多图片上传的系统来说是个不错的提高效率的解决办法
异步运行框架所需jar包 及 js 打包如右侧:js 脚本上传文件操作.zip
页面代码: 引入两个JS包
jquery-3.2.1.min.js
ajaxfileupload.js
function uploadImage(fileId) {
$.ajaxFileUpload({
url:'/jspproject/servlet/picUploadServlet',//用于文件上传的服务器端请求地址
secureuri:false,//一般设置为false
fileElementId:fileId,//文件上传空间的id属性 <input type="file" id="file" name="file" />
dataType: 'text',//返回值类型 一般设置为json
// data: {'faceurl':artType},扩展参数
success: function (data, status) //服务器成功响应处理函数
{
if(status){
alert(data);
$("#dd").css("display","block");
}
//var fileInfo = jQuery.parseJSON(data);
//alert("上传成功,返回图片路径:"+fileInfo.file_path);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
});
return false;
}
input id="filePathId" type="file" name="photo" size="28" value="浏览"
input type="button" class="btnInput" id="btnOK" value="上传" onclick="uploadImage('filePathId');"
后台servlet上传操作:
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
DiskFileItemFactory dfif = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(dfif);
try {
List
for (int i = 0; i < items.size(); i++) {
FileItem item = items.get(i);
// 要判断是一个普通的表单域还是上传文件域
if (item.isFormField()) {
// 是一个普通的表单域
String name = item.getFieldName();
String value = item.getString();
System.out.println(name + ":" + value);
} else {
// 上传文件域,要将文件保存在服务器端
ServletContext sc = this.getServletContext();
// 获得实际部署时物理路径
String path = sc.getRealPath("upload");
System.out.println(path);
// 获得上传文件的名称
String fileName = item.getName();
System.out.println(fileName);
File temp = new File(path);
if(!temp.exists()){
temp.mkdir();
}
File file = new File(path + "//" + fileName);
System.out.println(file);
item.write(file);
}
}
} catch (Exception e) {
e.printStackTrace();
response.getWriter().write("添加失败");
}
response.getWriter().write("添加成功");
}
如有疑问 请留言 欢迎提供建议
评论已有 0 条