文件上传(JavaScript实现)

文件上传(JavaScript实现)设计思路 form 实现文件上传内在也是通过 form 实现 在 Js 中创建一个 form 对象 点击按钮 触发事件 模拟 form 被点击 得到文件 通过构造的 form 对象上传文件前端代码 DOCTYPE tml html head metacharset UTF 8 title amp title metacharset UTF 8 head html

文件上传(JavaScript实现)

设计思路:

form实现文件上传

内在也是通过form实现,

在Js中创建一个form 对象,点击按钮,触发事件(模拟form被点击),得到文件-》通过构造的form对象上传文件

前端代码:

 
   
    
    
    
    
   


后端代码:

package my; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItemIterator; import org.apache.commons.fileupload.FileItemStream; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.fileupload.util.Streams; import org.json.JSONObject; / * Servlet implementation class FileUploadService */ @WebServlet("/FileUploadService") public class FileUploadService extends HttpServlet { //文件上传的临时目录 File tmpDir; @Override public void init() throws ServletException { File webRoot = new File(getServletContext().getRealPath("/")); tmpDir = new File(webRoot, "upload"); tmpDir.mkdirs(); //上传进来的文件存放在 WebRoot/upload/ 下 } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { JSONObject jresp = new JSONObject(); try { Object data = doUpload(request, response); jresp.put("error", 0); jresp.put("reason", "OK"); if(data != null) jresp.put("data", data); } catch (Exception e) { jresp.put("error", -1); jresp.put("reason", e.getMessage()); } response.setCharacterEncoding("UTF-8"); response.setContentType("text/plain"); PrintWriter out = response.getWriter(); out.write(jresp.toString(2)); out.close(); } private Object doUpload(HttpServletRequest request, HttpServletResponse response) throws Exception { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if(!isMultipart) throw new Exception("请求编码必须为:multipart/form-data!"); request.setCharacterEncoding("utf-8"); // ServletFileUpload : commons包里提供的工具类 ServletFileUpload upload = new ServletFileUpload(); AfFileUploadInfo info = new AfFileUploadInfo(); FileItemIterator iter = upload.getItemIterator(request); while(iter.hasNext()) { //表单域 FileItemStream item = iter.next(); String fieldName = item.getFieldName(); InputStream fieldStream = item.openStream(); if(item.isFormField()) { // 普通表单域: 直接读取值 // 指的是,
package my; import java.io.File; public class AfFileUploadInfo { public String realName; //原始文件名 public String suffix; //后缀 public String tmpFileName; //服务器临时文件名 public File tmpFile; public long fileSize; //文件大小 } 

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212661.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午7:33
下一篇 2026年3月18日 下午7:33


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号