分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Struts2 使用Jquery+ajax 文件上传

发布时间:2023-09-06 01:11责任编辑:蔡小小关键词:文件上传

话不多说 直接上代码

前台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>

有啥不懂,底下留言。

Struts2 使用Jquery+ajax 文件上传

原文地址:http://www.cnblogs.com/jinghun/p/7535041.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved