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

沈阳网站建设seo优化网站制作论文答辩

沈阳网站建设seo优化,网站制作论文答辩,wordpress關閉評論,管理系统网页界面设计2014年9月8日 16:27:56 一、文件上传的原理 1、文件上传的 前提#xff1a; a、 form表单的method必须是post b、 form表单的enctype必须是multipart/form-data#xff08;决定了POST请求方式#xff0c;请求正文的数据类型#xff09; 注意#xff1a;当表单的enctype是m… 2014年9月8日 16:27:56 一、文件上传的原理 1、文件上传的 前提 a、 form表单的method必须是post b、 form表单的enctype必须是multipart/form-data决定了POST请求方式请求正文的数据类型 注意当表单的enctype是multipart/form-data,传统的获取请求参数的方法失效。 请求正文MIME协议进行描述的正文是多部分组成的 -----------------------------7dd32c39803b2 Content-Disposition: form-data; nameusername wzhting -----------------------------7dd32c39803b2 Content-Disposition: form-data; namef1; filenameC:\Documents and Settings\wzhting\妗岄潰\a.txt Content-Type: text/plain aaaaaaaaaaaaaaaaaa -----------------------------7dd32c39803b2 Content-Disposition: form-data; namef2; filenameC:\Documents and Settings\wzhting\妗岄潰\b.txt Content-Type: text/plain bbbbbbbbbbbbbbbbbbb -----------------------------7dd32c39803b2-- c、 form中提供input的type是file类型的文件上传域 二、利用第三方组件实现文件上传 1、 commons-fileupload组件 jarcommons-fileupload.jar                                 commons-io.jar 2、核心类或接口 DiskFileItemFactory:设置环境 public void setSizeThreshold(int?sizeThreshold) 设置缓冲区大小。默认是10Kb。 当上传的文件超出了缓冲区大小fileupload组件将使用临时文件缓存上传文件 public void setRepository(java.io.File repository)设置临时文件的存放目录。默认是系统的临时文件存放目录。 ServletFileUpload:核心上传类主要作用解析请求的正文内容 boolean isMultipartContent(HttpServletRequest?request)判断用户的表单的enctype是否是multipart/form-data类型的。 List parseRequest(HttpServletRequest request)解析请求正文中的内容 setFileSizeMax(4*1024*1024);//设置单个上传文件的大小 upload.setSizeMax(6*1024*1024);//设置总文件大小 FileItem:代表表单中的一个输入域。 boolean isFormField():是否是普通字段 String getFieldName获取普通字段的字段名 String getString():获取普通字段的值 InputStream getInputStream():获取上传字段的输入流 String getName():获取上传的文件名 三、文件上传中要注意的9个问题 1、如何保证服务器的安全 把保存上传文件的目录放到WEB-INF目录中。 2、中文乱码问题 2.1普通字段的中文请求参数 String value FileItem.getString(UTF-8); 2.2上传的文件名是中文 解决办法request.setCharacterEncoding(UTF-8); 3、重名文件被覆盖的问题 System.currentMillions()_a.txt(乐观) UUID_a.txt:保证文件名唯一 4、分目录存储上传的文件 方式一当前日期建立一个文件夹当前上传的文件都放到此文件夹中。 方式二利用文件名的hash码打散目录来存储。 int hashCode fileName.hashCode(); 1001 1010 1101 0010 1101 1100 1101 1010 hashCode0xf;   0000 0000 0000 0000 0000 0000 0000 1111 --------------------------------------------- 0000 0000 0000 0000 0000 0000 0000 1010   取hashCode的后4位 0000~1111整数0~15共16个 1001 1010 1101 0010 1101 1100 1101 1010 (hashCode0xf0) 0000 0000 0000 0000 0000 0000 1111 0000   -------------------------------------------- 0000 0000 0000 0000 0000 0000 1101 0000  4 -------------------------------------------- 0000 0000 0000 0000 0000 0000 0000 1101 0000~1111整数0~15共16个 5、限制用户上传的文件类型 通过判断文件的扩展名来限制是不可取的。 通过判断其Mime类型才靠谱。FileItem.getContentType(); 6、如何限制用户上传文件的大小 6.1单个文件大小限制。超出了大小友好提示 抓异常进行提示org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException 6.2总文件大小限制。超出了大小友好提示 抓异常进行提示org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException 7、临时文件的问题 commons-fileupload组件不会删除超出缓存的临时文件。 FileItem.delete()方法删除临时文件。但一定要在关闭流之后。 8、多个文件上传时没有上传内容的问题 if(fileNamenull||.equals(fileName.trim())){ continue; } 9、上传进度检测 给ServletFileUpload注册一个进度监听器即可把上传进度传递给页面去显示 //pBytesRead当前以读取到的字节数 //pContentLength文件的长度 //pItems:第几项 public void update(long pBytesRead, long pContentLength, int pItems) { System.out.println(已读取pBytesRead,文件大小pContentLength,第几项pItems); 2014年9月8日 16:27:56 一、文件上传的原理 1、文件上传的 前提 a、 form表单的method必须是post b、 form表单的enctype必须是multipart/form-data决定了POST请求方式请求正文的数据类型 注意当表单的enctype是multipart/form-data,传统的获取请求参数的方法失效。 请求正文MIME协议进行描述的正文是多部分组成的 -----------------------------7dd32c39803b2 Content-Disposition: form-data; nameusername wzhting -----------------------------7dd32c39803b2 Content-Disposition: form-data; namef1; filenameC:\Documents and Settings\wzhting\妗岄潰\a.txt Content-Type: text/plain aaaaaaaaaaaaaaaaaa -----------------------------7dd32c39803b2 Content-Disposition: form-data; namef2; filenameC:\Documents and Settings\wzhting\妗岄潰\b.txt Content-Type: text/plain bbbbbbbbbbbbbbbbbbb -----------------------------7dd32c39803b2-- c、 form中提供input的type是file类型的文件上传域 二、利用第三方组件实现文件上传 1、 commons-fileupload组件 jarcommons-fileupload.jar                                 commons-io.jar 2、核心类或接口 DiskFileItemFactory:设置环境 public void setSizeThreshold(int?sizeThreshold) 设置缓冲区大小。默认是10Kb。 当上传的文件超出了缓冲区大小fileupload组件将使用临时文件缓存上传文件 public void setRepository(java.io.File repository)设置临时文件的存放目录。默认是系统的临时文件存放目录。 ServletFileUpload:核心上传类主要作用解析请求的正文内容 boolean isMultipartContent(HttpServletRequest?request)判断用户的表单的enctype是否是multipart/form-data类型的。 List parseRequest(HttpServletRequest request)解析请求正文中的内容 setFileSizeMax(4*1024*1024);//设置单个上传文件的大小 upload.setSizeMax(6*1024*1024);//设置总文件大小 FileItem:代表表单中的一个输入域。 boolean isFormField():是否是普通字段 String getFieldName获取普通字段的字段名 String getString():获取普通字段的值 InputStream getInputStream():获取上传字段的输入流 String getName():获取上传的文件名 三、文件上传中要注意的9个问题 1、如何保证服务器的安全 把保存上传文件的目录放到WEB-INF目录中。 2、中文乱码问题 2.1普通字段的中文请求参数 String value FileItem.getString(UTF-8); 2.2上传的文件名是中文 解决办法request.setCharacterEncoding(UTF-8); 3、重名文件被覆盖的问题 System.currentMillions()_a.txt(乐观) UUID_a.txt:保证文件名唯一 4、分目录存储上传的文件 方式一当前日期建立一个文件夹当前上传的文件都放到此文件夹中。 方式二利用文件名的hash码打散目录来存储。 int hashCode fileName.hashCode(); 1001 1010 1101 0010 1101 1100 1101 1010 hashCode0xf;   0000 0000 0000 0000 0000 0000 0000 1111 --------------------------------------------- 0000 0000 0000 0000 0000 0000 0000 1010   取hashCode的后4位 0000~1111整数0~15共16个 1001 1010 1101 0010 1101 1100 1101 1010 (hashCode0xf0) 0000 0000 0000 0000 0000 0000 1111 0000   -------------------------------------------- 0000 0000 0000 0000 0000 0000 1101 0000  4 -------------------------------------------- 0000 0000 0000 0000 0000 0000 0000 1101 0000~1111整数0~15共16个 5、限制用户上传的文件类型 通过判断文件的扩展名来限制是不可取的。 通过判断其Mime类型才靠谱。FileItem.getContentType(); 6、如何限制用户上传文件的大小 6.1单个文件大小限制。超出了大小友好提示 抓异常进行提示org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException 6.2总文件大小限制。超出了大小友好提示 抓异常进行提示org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException 7、临时文件的问题 commons-fileupload组件不会删除超出缓存的临时文件。 FileItem.delete()方法删除临时文件。但一定要在关闭流之后。 8、多个文件上传时没有上传内容的问题 if(fileNamenull||.equals(fileName.trim())){ continue; } 9、上传进度检测 给ServletFileUpload注册一个进度监听器即可把上传进度传递给页面去显示 //pBytesRead当前以读取到的字节数 //pContentLength文件的长度 //pItems:第几项 public void update(long pBytesRead, long pContentLength, int pItems) { System.out.println(已读取pBytesRead,文件大小pContentLength,第几项pItems);
http://www.dnsts.com.cn/news/12528.html

相关文章:

  • 甘肃住房和城乡建设部网站富阳做网站
  • asp.net网站建设项目实战 董义革秦皇岛吧 百度贴吧
  • 企业能建站吗影视网站视频接口怎么做
  • 如何给wordpress导航添加图标百度seo公司兴田德润
  • 大型网站建设兴田德润专业做外贸在哪个网站比较好
  • 网站建设简介联系方式广告设计培训机构
  • 如何美化wordpress主题惠州seo排名收费
  • python h5网站开发网站建设知识库
  • 仿站是什么网站建设费用申请
  • 搭建网站的步骤有哪些安徽建设厅官网
  • wordpress 站点大庆最新消息今天
  • 专做视频素材的网站首钢水钢赛德建设有限公司网站
  • 网站建设兼职百度一下官网
  • 仿站能被百度收录吗网站建设心得8000字
  • 淄博网站seo公司企业网站源码生成
  • 如果做网站自己做热图的网站
  • 网站设计与开发专家wordpress微信机器人高级版
  • 网站标题替换站长素材ppt模板免费下载
  • 网站静态首页模板游戏介绍网站模板下载地址
  • 高端网站设计技术分析谷歌wordpress建站
  • 杭州网站制作方法网站做seo多少钱
  • 合浦县城乡规划建设局网站竞价托管外包服务
  • 腾讯建设网站视频专业网站建设哪家权威
  • 网站设计公司长沙公司钻磊二级域名分发
  • 萍乡网站优化pc网站转换成app
  • 成都电商网站制作网站建设中代码
  • 医院网站模板营销型企业网站报价
  • 专业建站公司的业务内容有哪些用户上传网站用什么做
  • 做网站ps建立多大的画布线上营销推广渠道
  • 做招聘网站排名wordpress4.9.3漏洞