话不多说 直接上代码

前台js:

 1 var formData = new FormData();
2 formData.append("file1",$("#file1")[0].files[0]);//第一个file1代表后台文件属性名,第二个file1表示html中input的id
3 $.ajax({
4 type:"post",
5 url:"ajax/uploadFile",
6 data:formData,
7 processData : false,
8 contentType : false,
9 success : function(res) {
10 console.log(res);
11 if(res=="success"){
12 $("#labResult").text("文件上传成功");
13 }
14 },
15 error : function(msg) {
16 console.log(msg.responsText);
17 }
18 });

后台java:

 1 import java.io.File;
2 import java.io.FileInputStream;
3 import java.io.FileOutputStream;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.io.OutputStream;
7
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10
11 import org.apache.struts2.ServletActionContext;
12
13 import com.opensymphony.xwork2.ActionContext;
14 import com.opensymphony.xwork2.ActionSupport;
15
16 public class UploadAction extends ActionSupport{
17 private File file1 ;
18 private String file1FileName ;//FileName为固定写法
19 public File getFile1() {
20 return file1;
21 }
22 public void setFile1(File file1) {
23 this.file1 = file1;
24 }
25 public String getFile1FileName() {
26 return file1FileName;
27 }
28 public void setFile1FileName(String file1FileName) {
29 this.file1FileName = file1FileName;
30 }
31 public String uploadFile() throws Exception {
32
33 String path = ServletActionContext.getRequest().getServletContext().getRealPath("/WEB-INF/upload");
34 //查看是否存在目录 不存在则创建
35 File file = new File(path);
36 //如果目录不存在
37 if(!file.exists()){
38 file.mkdirs();
39 }
40 //文件不为空 则上传
41 if(file1!=null){
42 //输出流
43 OutputStream os = new FileOutputStream(new File(path,file1FileName));
44 //输入流
45 InputStream is = new FileInputStream(file1);
46
47 byte[] buf = new byte[1024];
48 int length = 0 ;
49
50 while(-1 != (length = is.read(buf) ) )
51 {
52 os.write(buf, 0, length) ;
53 }
54 is.close();
55 os.close();
56 }
57 return "success";
58 }
59
60 public void uploadFile(){
61 System.out.println("file1:"+file1+".");
62 System.out.println("file1FileName:"+file1FileName+".");
63 String path="";
64 try {
65 path=uploadFile();
66 HttpServletResponse response = ServletActionContext.getResponse();
67 response.setContentType("text/html;charset=utf-8");
68 response.getWriter().write(path);
69 } catch (Exception e) {
70 e.printStackTrace();
71 }
72 }
73 }

struts:

<package name="ajax" extends="json-default" namespace="/ajax">
<action name="uploadFile" class="包名.UploadAction" method="uploadFile"></action>
</package>

有啥不懂,底下留言。

更多相关文章

  1. 前台jquery+ajax向后台请求数据,后台返回json,前台显示
  2. 注册的时候,点击注册按钮,用jquery怎么直接在前端打印后台返回的信
  3. 26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css
  4. 请教一下ajax代替frame在后台管理系统布局上应当怎么应用?
  5. 您试图显示配置为只允许执行和脚本权限的目录中的 HTML 页
  6. iframe调用后台方法通过response返回html代码
  7. iis aspx常见错误 HTTP 错误 404 - 文件或目录未找到。
  8. 仿wordpress管理后台设计的后台管理框架
  9. 提交一个表单(后台生成id),点击保存并一步后切换到下一个tab中,此t

随机推荐

  1. 自学编程的八大误区!克服它!
  2. webpack4配置详解之慢嚼细咽
  3. “狗屁不通文章生成器”项目登顶GitHub热
  4. 005. 最长回文子串 | Leetcode题解
  5. 大家好 这就是2018年的我~
  6. Linux环境都没有,怎么学编程?憋说了,肝!(保姆
  7. 006. Z 字形变换 | Leetcode题解
  8. eruda 一个被人遗忘的调试神器
  9. Linux性能优化(五)——性能监控工具
  10. 小姐姐对不喜欢的男孩到底有多残忍?