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

常州市中大建设工程有限公司网站徐水住房建设局网站

常州市中大建设工程有限公司网站,徐水住房建设局网站,任丘网站制作,合肥做网站域名的公司1 单文件上传 在程序开发中,有时候需要上传一些文件。我们在学习Servlet的时候,也做过文件上传的操作,只不过基于Servlet的文件上传操作起来过于复杂,因此所有的MVC框架都提供了自己的文件上传操作,基本上都是基于File…

1 单文件上传

        在程序开发中,有时候需要上传一些文件。我们在学习Servlet的时候,也做过文件上传的操作,只不过基于Servlet的文件上传操作起来过于复杂,因此所有的MVC框架都提供了自己的文件上传操作,基本上都是基于FileUpload的文件上传。

        Spring MVC在处理文件上传的时候,有自己的处理方法,但是也是基于FileUpload的操作,因此在处理文件上传的时候也需要导入commons-fileupload-1.2.2.jar包和commons-io-2.4.jar包。

        在操作的时候,首先需要在配置文件中,配置Spring MVC文件上传功能,具体代码如下。

<!-- 设置了multipartResolver才能完成文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- 文件上传字符编码 --><property name="defaultEncoding" value="UTF-8"></property><!-- 设置文件上传的大小,单位是字节 --><property name="maxUploadSize" value="2000000"></property>
</bean>

        接下来需要一个表单,用来执行选择文件操作,首先在控制器中添加方法,用来跳转到文件上传页面,具体代码如下。

@RequestMapping(value="/uploadInput", method=RequestMethod.GET)
public String upload() {return "upload";
}

        在WEB-INF/jsp目录下创建upload.jsp页面,并添加如下代码。

<form action="upload" method="post" enctype="multipart/form-data">name:<input type="text" name="name"><br>file:<input type="file" name="fileName"><br><input type="submit" value="提交">
</form>

        页面效果如图所示。

        在控制器中只需要在处理方法中加入参数MultipartFile,就可以实现文件上传了。编写处理方法,代码内容如下。

@RequestMapping(value="/upload", method=RequestMethod.POST)
public String upload(String name, MultipartFile file, HttpServletRequest req) {System.out.println(name);//获取表单域的名字System.out.println(file.getName());//获取文件原始的名字System.out.println(file.getOriginalFilename());//获取文件的类型System.out.println(file.getContentType());//获取文件上传的路径String realpath = req.getSession().getServletContext().getRealPath("/upload");//创建文件对象File f = new File(realpath + "/" + file.getOriginalFilename());try {//文件上传
FileUtils.copyInputStreamToFile(file.getInputStream(), f);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return "upload";
}

        注意:方法中MultipartFile对象的名字,必须和文件表单域的名字一致,否则会报错。

        在WebRoot目录下创建文件夹upload,访问:http://localhost:8080/springmvc/uploadInput,选择文件,就可以正常上传文件了。

2 多文件上传

        在实际的开发中,有时要同时上传多个文件,在处理的时候,只需要稍作修改就可以了。首先需要修改文件上传页面代码,如下所示。

<form action="upload" method="post" enctype="multipart/form-data">name:<input type="text" name="name" size="30"><br><br>file:<input type="file" name="files"><br><br>file:<input type="file" name="files"><br><br>file:<input type="file" name="files"><br><br><input type="submit" value="提交">
</form>

        页面显示的效果如图所示。

        在控制器中的处理也非常简单,只需要把对象改为一个数组即可,代码修改如下。

@RequestMapping(value="/upload", method=RequestMethod.POST)
public String upload(String name, MultipartFile files[], HttpServletRequest req) {//获取文件上传的路径String realpath = req.getSession().getServletContext().getRealPath("/upload");for(MultipartFile file:files) {//在多文件上传时,防止有的文件表单域没有选择文件if(file.isEmpty()) {continue;}//创建文件对象File f = new File(realpath + "/" + file.getOriginalFilename());try {//文件上传	 FileUtils.copyInputStreamToFile(file.getInputStream(), f);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return "success";
}

        此时选择多个文件,也能同时完成上传,即使有的表单域没有选择文件,也是可以的,同时这种方法同样也能完成单文件的上传。不过这样做也有点费事,在实际开发中往往都是通过插件,使在一个选择框中,可以同时选择若干文件,实现同时上传。这一点在HTML5中,可以通过multiple属性来实现在一个文件表单域中可接受多个值的文件上传,在HTML4中仍然可以使用,具体代码如下所示。

<form action="upload" method="post" enctype="multipart/form-data">name:<input type="text" name="name" size="30"><br><br>file:<input type="file" name="files" multiple="multiple"><br><br><input type="submit" value="提交">
</form>

        页面效果如图所示。

        后台接收文件的处理代码不用修改,可以直接使用。

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

相关文章:

  • 建设农业网站wordpress 导航页面模板
  • 开发网站通过第三方微信认证登录开发费用小网站备案
  • 为校园网站建设提供cc域名做门户网站
  • 中航华福工程建设有限公司网站北京网站推广排名公司
  • 滨海新区做网站郑州市经开区建设局网站
  • 湘潭建设网站wordpress 亲子 主题
  • 茶叶网站建设方案南阳哪里做网站比较好
  • 网站建设流程ppt网站模板视频教程
  • 新翼设计网站建设公司论坛网站制作教程
  • 建设的招标网站网站如何导入织梦cms
  • 网站建设师薪资高端网站制造
  • 无锡制作网站价格表汽车手机网站制作
  • 找人做海报在什么网站找wordpress菜单标题属性
  • 二手网站建设论文wordpress招聘
  • 实验教学网站建设策划方案WordPress副标题不显示
  • 黄石公司网站建设网站页面不更新
  • 公众号平台建设网站php网站建设哪家好
  • 上海浦东建筑建设网站污水处理工程有哪些做统计销量的网站
  • 如何入侵网站后台密码北京做公司网站的公司
  • 网站打包成app软件电子商务网站建设规划心得
  • 网站建设定金合同厂家招代理商免费铺货
  • 做网站需要实名认证吗关键词排名工具有哪些
  • 做网站卖设备找哪家好图文广告设计制作软件
  • 自助建站平台有哪些裕华区建设局网站
  • 简单的明星个人网站建设论文php网站怎么用mysql新建数据库
  • 成华区微信网站建设公司网站流量在哪设置
  • 广东高端建设网站公司简历模板免费
  • 小说网站防盗做的最好的是河源市住房建设局网站
  • 安徽网站开发费用企业营销型网站建设费用
  • 网站开发实验心得网站 上一篇 下一篇