ajax上传文件struts2后台接收处理

淡淡的烟草味﹌ 2022-08-08 14:50 426阅读 0赞

前段时间由于项目的需求,实现文件上传并要求页面不刷新。我便首先想到了ajax,我通过查阅之前终于可以实现这个功能了,小弟今天特此和大家分享一下。ajax上传实质上分为两种:

一、基于iframe异步提交数据,将form表单数据创建到一个页面隐藏的iframe,提交iframe里的数据。代码如下:

1.html页面引入


Ajax文件上传例子,JAVA版



用户名:



2.js处理

3.struts2后台处理:

@Controller
@Scope(“prototype”)
public class MyUpload {
private File fileToUpload;
private String username;

public File getFileToUpload() {
return fileToUpload;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public void setFileToUpload(File fileToUpload) {
this.fileToUpload = fileToUpload;
}

public void upload3() throws Exception{
String tmp = UUID.randomUUID().toString()+”.xls”; //注意这里文件后缀名我只是以xls演示。
File filex = new File(“f:\\upload”);
File fi = new File(filex,tmp);
FileUtils.copyFile(file,fi);
}

}

注:源码地址http://download.csdn.net/download/u010509052/9115721

二、基于html5的FileReader,提前是你的浏览器必须支持h5才可以

1.html代码:




Insert title here







2.struts2后台处理

@Controller
@Scope(“prototype”)
public class MyUpload {

private String urlData;

public String getUrlData() {
return urlData;
}

public void setUrlData(String urlData) {
this.urlData = urlData;
}

public void uploadimg() throws Exception{
byte[] buf = urlData.getBytes(“ISO8859_1”); //根据自己的服务器的编码而定,utf-8或GBK,否则生成的文件的编码不对。
OutputStream out = new FileOutputStream(new File(“f://xxx.jpg”));//这里的文件后缀名后天从前台传过来,我这里就写死了。
out.write(buf);
out.flush();
out.close();
System.out.println(urlData+”=====>”);
}

}

发表评论

表情:
评论列表 (有 0 条评论,426人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Struts2文件

    笔者学习了Struts2文件上传和下载, 一、首先学习一下文件上传的原理: 表单元素的enctype属性: enctype属指定的是表单数据的编码方式,该属性有如下三个值

    相关 struts2文件

    可以关联到文件上传的值栈实现类FileUploadInterceptor ,然后直接看它的javadoc,里面有具体的用法和实例 ![这里写图片描述][SouthEast