微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax上传文件

随着html5 的到来,利用ajax上传成为可能

HTML代码中input标签,type属性为file不可少

对应的javascript代码如下

var fileObj = document.getElementById("file").files[0]; // 获取文件对象 
var form = new FormData();                  
form.append("file",fileObj); // 文件对象
// XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
xhr.open("POST","/ssh/Test?id=2",true);//路径为后台action的路径
xhr.send(form);

后台action(即spring框架中的控制器)接收代码如下
try {
	List<FileItem> items = new ServletFileUpload(new diskFileItemFactory()).parseRequest(request);
	for (FileItem item : items) {
		String fileName = item.getName();
		InputStream content = item.getInputStream();
		String fullPath=request.getServletContext().getRealPath("/");
		OutputStream os=new FileOutputStream(fullPath+"\\img\\"+Math.random()+".jpg");
		int len = 0;
		byte[] buffer = new byte[8192];
		while ((len = content.read(buffer,8192)) != -1) {
			os.write(buffer,len);// 将文件写入服务器
		}
		os.close();
		content.close();
	}
} catch (FileUploadException e) {
	throw new servletexception("Parsing file upload Failed.",e);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐