【java】文件上传
来源:互联网 发布:单片机实训室建设方案 编辑:程序博客网 时间:2024/05/16 09:41
一、前言
在项目中遇到了上传文件的功能,虽然这个功能还是比较思路清楚的,在java中Struts2已经为我们设计好了File这个类,所以我们需要做的就是把所需要的参数带进去获取到就行了。在本篇博客中,小编主要就讲解一下各个方法的实用,以及上传文件的流程。
二、核心思路
三、代码实现
前台
<td class="ta_01" bgColor="#ffffff" colspan="3"> <!-- 文件上传-Ares-2016年12月8日16:51:02 --> <input type="file" name="upload" /></td>
后台的Action,这里要注意的是upload,和前台表单中的属性名字相同。
//文件上传需要的参数 private File upload; //上传的文件 upload,和表单中的属性名字相同 private String uploadFileName; //接收文件上传的文件名 private String uploadContextType; //接收文件上传的文件的MIME的类型 public void setUpload(File upload) { this.upload = upload; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; } public void setUploadContextType(String uploadContextType) { this.uploadContextType = uploadContextType; } //保存商品方法 public String save() throws IOException{ //调用B层保存方法 Date time=new java.sql.Date(new java.util.Date().getTime()); product.setPdate(time); if(upload!= null){ //获得文件上传的磁盘的绝对路径 String realPath = ServletActionContext.getServletContext().getRealPath("/products"); //创建一个文件 File diskFile = new File(realPath +"//" +uploadFileName); //文件上传 FileUtils.copyFile(upload, diskFile); product.setImage("products/"+uploadFileName); } productService.save(product); return "saveSuccess"; }
B层
//B层保存商品的方法 public void save(Product product) { productDao.save(product); }
D层
//D层保存商品的方法 public void save(Product product) { this.getHibernateTemplate().save(product); }
四、小结
小编通过这个只是实现了上传的功能,但是具体的一些问题比如,文件名重名,目录分离等还是需要在后面的操作中完成,这些内容小编会在后面的博客中向大家分享出来,最后会整理出一个相对比较完整,功能全的上传的类,然后分享给大家,另外有什么不足的地方还是请各位指出。
2 0
- Java 文件上传 JQ 文件上传
- java文件上传原理
- java文件上传原理
- java上传文件
- 上传文件 JSP+java
- JAVA上传文件
- java上传文件
- java fileupload上传文件
- java-文件上传案例
- JAVA上传EXCEL文件
- java上传文件
- java 超大文件上传
- java上传文件实例
- java 文件上传
- JAVA 上传文件类
- JAVA之"文件上传"
- java文件上传
- java文件上传方法
- 如何把Activity的布局文件添加至窗口
- 根据日期判断 该日期是本月的第几周
- RabbitMQ四种Exchange类型之Direct (Java)
- C#--三行代码带你理解神秘的拆箱和装箱
- 第七章 Thread-Per-Message
- 【java】文件上传
- Memory Management(5)DXE 内存管理流程
- 中英文按照首字母A~Z顺序排序
- IntelliJ 导出jar包方法及部分问题解决
- php 生成百万数,不重复,并且打乱数字顺序,插入数据库
- 设置eclipse自动生成的author等注释
- 【软件测试】α测试和β测试的区别
- HaiQiu整理Android Studio插件
- Java Annotation 入门("@")