当前位置: 首页 > news >正文

网站的开发建设费黔南州建设局门户网站

网站的开发建设费,黔南州建设局门户网站,巴中住房建设部网站,十堰网站建设联系电话目录 1、准备工作 2、注意事项 3、jsp页面代码 4、Servlet 5、注册Servlet 1、准备工作 导入依赖:commons-fileupload和commons-io 2、注意事项 ①为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如WEB-INF目录下 ②为…

目录

1、准备工作

2、注意事项

3、jsp页面代码

4、Servlet

5、注册Servlet


1、准备工作

导入依赖:commons-fileupload和commons-io

2、注意事项

        ①为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如WEB-INF目录下

        ②为防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名(时间戳、uuid)

        ③要限制上传文件的最大值

        ④可以限制上传文件的类型,在收到上传文件名时,判断后缀名是否合法

3、jsp页面代码

注意:form表单要加上 enctype="multipart/form-data"

           并且method一定是post,因为get有大小限制

<html>
<body><form action="${pageContext.request.contextPath}/upload.do" method="post" enctype="multipart/form-data">上传用户:<input type="text" name="username"><br/><p><input type="file" name="file1"></p><p><input type="file" name="file2"></p><p><input type="submit"> | <input type="reset"></p>
</form></body>
</html>

4、Servlet

 //判断上传的文件是普通表单,还是带文件的表单if(!ServletFileUpload.isMultipartContent(req)){return;//终止方法运行,说明这是一个普通表单,直接返回}try {//创建上传文件袋保存路径,建议在WEB-INF路径下,安全,用户无法直接访问上传的文件String uploadPath = this.getServletContext().getRealPath("/WEB-INF/upload");File uploadFile = new File(uploadPath);if(!uploadFile.exists()){uploadFile.mkdir();//创建这个目录}//缓存,临时文件//临时路径,假如文件超过了预期的大小。我们就把他放到一个临时文件中,过几天自动删除,或者提醒用户转存为永久String tmpPath = this.getServletContext().getRealPath("/WEB-INF/tmp");File tmpFile = new File(tmpPath);if(!tmpFile.exists()){tmpFile.mkdir();//创建这个临时目录}

1、创建DiskFileItemFactory对象

//处理上传的文件,一般都需要通过流来获取,我们可以使用req.getInputStream(),原生态的文件上传流获取,十分麻烦//建议使用Apache的文件上传组件来实现,common-fileupload,他需要依赖于commons-io组件//1、创建DiskFileItemFactory对象:处理文件上传路径或者大小限制的DiskFileItemFactory factory = new DiskFileItemFactory();

2、 获取ServletFileUpload

//2、获取ServletFileupload:监听文件上传进度、处理乱码问题、设置单个文件的最大值、设置总共能够上传文件的大小ServletFileUpload upload = new ServletFileUpload();

3、处理上传的文件

//3、处理上传的文件//把前端请求解析,封装成一个FileItem对象List<FileItem> fileItems = upload.parseRequest(req);for (FileItem fileItem : fileItems) {//判断上传的文件是普通表单,还是带文件的表单if(fileItem.isFormField()){//普通表单String name = fileItem.getFieldName();String value = fileItem.getString("UTF-8");System.out.println(name+":"+value);}else{//文件//=========================处理文件============================////拿到文件名字String uploadFileName = fileItem.getFieldName();System.out.println("上传的文件名:"+uploadFileName);//可能存在文件名不合法的情况if(uploadFileName.trim().equals("") || uploadFileName==null){continue;}//获取上传的文件名String fileName = uploadFileName.substring(uploadFileName.lastIndexOf("/") + 1);//获取文件的后缀名String fileExtName = uploadFileName.substring(uploadFileName.lastIndexOf(".") + 1);//可以使用uuid保证文件名唯一//UUID.randomUUID(),随机生成一个唯一的通用码String uuidPath = UUID.randomUUID().toString();//=========================存放地址============================//String realPath = uploadPath+"/"+uuidPath;//给每个文件创建一个对应的文件夹File realPathFile = new File(realPath);if(!realPathFile.exists()){realPathFile.mkdir();}//=========================文件传输============================////获得文件上传的流InputStream inputStream = fileItem.getInputStream();//创建一个文件输出流FileOutputStream fos = new FileOutputStream(realPath + "/" + fileName);//创建一个缓冲区byte[] buffer = new byte[1024*1024];//判断是否读取完毕int len = 0;//如果大于0,说明还存在数据while((len = inputStream.read(buffer))>0){fos.write(buffer,0,len);}//关闭流fos.close();inputStream.close();//上传成功,清除临时文件fileItem.delete();}}} catch (FileUploadException e) {throw new RuntimeException(e);}

 

5、注册Servlet

http://www.yayakq.cn/news/707745/

相关文章:

  • 深圳遗像制作优化排名推广关键词
  • 网站开发者账号购买wordpress充值卡生成
  • 如何做学校网站做品管圈网站
  • 关于建设公司网站的申请网站建设可行分析性报告
  • 网站建设推广是什么意思建筑工程项目信息查询
  • aspx网站实例网页设计开发招聘
  • 网站首页分辨率做多大的在一家传媒公司做网站编辑 如何
  • 做招投标有哪些网站南京响应式网站建设
  • 软件系统开发要多少钱广东网站优化
  • wordpress 经典网站做网站公司需要准备资料
  • 北京搭建网站驻马店行业网站建设源码
  • 如何做网站卡密收录情况
  • 制作一个公司网站的流程莆田市网站建设
  • flash网站建设个人简介互联网保险的风险
  • 自己做网站优化wordpress三栏博客主题
  • 苏州专业的网站建设公司自己做网站打开很卡
  • 做网站 做app好网站建设及优化心得体会
  • 物流网站建设合同范本宁波网站模板哪家性价比高
  • 昆明专业网站排名推广网站设置字体样式
  • 购买网站外链什么是互联网公司
  • 做网站的公司搞什么活动网站编程语言培训机构
  • 在线可以做翻译的网站吗天迈装饰网站建设项目
  • 使用flashfxp上传网站微信开放平台怎么注册
  • 微信网站建设 知乎网站建设南京公司网站建设
  • 网站开发要用多少钱梅县区住房和城乡规划建设局网站
  • 中国建设机械网网址网站优化工具分析工具
  • 网站建设中源码下载wordpress如何使用一个的模板
  • 简单大方网站一分钟建站
  • 网站做数据监测推广话术
  • asp建设网站需要了解什么最新招商代理项目