分享web开发知识

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

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

上传文件

发布时间:2023-09-06 02:29责任编辑:赖小花关键词:暂无标签

一  form表单上传文件

前端

 form表单上传文件 ???<form method="post" enctype="multipart/form-data" action="saveUser.do"> ???????用户名<input type="text" name="username"><br/> ???????头像<input type="file" name="myPic"><br/> ???????<input type="submit" > ???</form>

实体类

package com.qy.entity;public class User { ???private String username; ???private String myPic; ???public String getUsername() { ???????return username; ???} ???public void setUsername(String username) { ???????this.username = username; ???} ???public String getMyPic() { ???????return myPic; ???} ???public void setMyPic(String myPic) { ???????this.myPic = myPic; ???} ???????}

后端servlet

package com.qy.servlet;import java.io.IOException;import java.util.Arrays;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;import com.qy.entity.User;@WebServlet("/saveUser.do")@MultipartConfigpublic class UserSaveServlet extends HttpServlet{ ???????@Override ???protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ???????String username = request.getParameter("username"); ???????Part part = request.getPart("myPic"); ???????System.out.println(part); ???????//验证文件大小,后缀是否满足要求,获取原始文件名 ???????long size = part.getSize(); ???????//1m ?1024*1024 ???????if(size > 1024*1024){ ???????????System.out.println("文件大于1M!"); ???????????return ; ???????} ???????// ???????String file = part.getHeader("Content-Disposition");//form-data; name="myPic"; filename="1024.jpg" ???????//获取后缀 ?截取 ?. ?????????String suffix = file.substring(file.lastIndexOf(".")+1, file.length()-1); ???????//比对后缀格式是否正确 ???????String[] suffixs = {"jpg","png","gif"};content.lastIndexOf("=\"")+2,content.lastIndexOf("\"") ???????boolean flag = Arrays.asList(suffixs).contains(suffix); ???????if(!flag){ ???????????System.out.println("文件格式不正确!"); ???????????return ; ???????} ???????//获取保存路径 ???????String path = request.getServletContext().getRealPath("/images/"); ???????????????//保存文件到磁盘 ???????String filename = System.currentTimeMillis()+"."+suffix; ???????part.write(path+filename); ???????????????????????//保存用户数据到数据库 ???????User user = new User(); ???????user.setUsername(username); ???????user.setMyPic("images/"+filename); ???????????????//调用dao层方法保存对象 ???????????????//控制页面跳转 ???}}

ajax上传文件

前端

 ????ajax上传文件 ?<br/> ???<form id="uploadFile"> ???????<input type="file" name="myPic" id="myPic"> ????????<input type="button" value="上传" id="uploadPic"> ???</form>

实体类与上面相同

后端servlet

package com.qy.servlet;import java.io.IOException;import java.util.Arrays;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;import com.qy.entity.User;@WebServlet("/saveUser2.do")@MultipartConfigpublic class UserSaveServlet2 extends HttpServlet{ ???????@Override ???protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ???????response.setContentType("text/html;charset=utf-8"); ???????????????String username = request.getParameter("username"); ???????Part part = request.getPart("myPic"); ???????//验证文件大小,后缀是否满足要求,获取原始文件名 ???????long size = part.getSize(); ???????//1m ?1024*1024 ???????if(size > 1024*1024){ ???????????System.out.println("文件大于1M!"); ???????????response.getWriter().append("文件大于1M!"); ???????????return ; ???????} ???????// ???????String file = part.getHeader("Content-Disposition");//form-data; name="myPic"; filename="1024.jpg" ???????//获取后缀 ?截取 ?. ?????????String suffix = file.substring(file.lastIndexOf(".")+1, file.length()-1); ???????//比对后缀格式是否正确 ???????String[] suffixs = {"jpg","png","gif"}; ???????boolean flag = Arrays.asList(suffixs).contains(suffix); ???????if(!flag){ ???????????System.out.println("文件格式不正确!"); ???????????response.getWriter().append("文件格式不正确!"); ???????????return ; ???????} ???????//获取保存路径 ???????String path = request.getServletContext().getRealPath("/images/"); ???????????????//保存文件到磁盘 ???????String filename = System.currentTimeMillis()+"."+suffix; ???????part.write(path+filename); ???????????????????????//保存用户数据到数据库 ???????User user = new User(); ???????user.setUsername(username); ???????user.setMyPic("images/"+filename); ???????????????//调用dao层方法保存对象 ???????????????//返回保存成功 ???????response.getWriter().append("上传成功!"); ???}}

上传文件

原文地址:https://www.cnblogs.com/songff/p/songff1.html

知识推荐

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