------------文件上传
java 代码
- public class UploadFile {
- public static String upLoad(FormFile file,String uploadDir,String newName) throws FileNotFoundException, IOException{
- String data = null;
- String location = null;
- String totalname;
- String extend;
- StringBuffer fileName;
- String contentType;
- String size;
-
- int i;
- File dirPath;
- InputStream inputStream;
- OutputStream outputStream;
-
-
- totalname = file.getFileName();
-
- i = totalname.lastIndexOf(".");
-
-
- if(i==-1){
- return location;
- }
-
- extend = totalname.substring(i);
-
- fileName = new StringBuffer(newName + extend);
- fileName.toString();
-
-
- contentType = file.getContentType();
-
- size = (file.getFileSize() + " bytes");
-
- dirPath = new File(uploadDir);
- if (!dirPath.exists()) {
- dirPath.mkdirs();
- }
-
- inputStream = file.getInputStream();
- outputStream = new FileOutputStream(uploadDir + fileName);
- int bytesRead = 0;
- byte[] buffer = new byte[8192];
-
- while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
- outputStream.write(buffer, 0, bytesRead);
- }
-
- location = dirPath.getAbsolutePath()
- + System.getProperty("file.separator") + fileName + "\"";
-
- outputStream.close();
- inputStream.close();
- file.destroy();
-
- return location;
- }
- }
--------------------文件的下载
java 代码
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- String strFileName = "测试文件.rar";
- File file = new File("具体路径" + strFileName);
- if(file.exists()){
- try{
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
- byte[] buffer = new byte[1024];
- strFileName = java.net.URLEncoder.encode(strFileName, "UTF-8");
- strFileName = new String(strFileName.getBytes("UTF-8"),"GBK");
- response.reset();
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application/x-rar-compressed");
- response.setHeader("Content-Disposition","attachment; filename=" + strFileName);
- OutputStream os = response.getOutputStream();
- while(bis.read(buffer) > 0){
- os.write(buffer);
- }
- bis.close();
- os.close();
- }
- catch(Exception e){
- ......
- }
- }
- return mapping.getInputForward();
- }
-
分享到:
相关推荐
总结起来,使用Struts实现文件上传下载涉及前端表单设计、后端处理逻辑、文件存储策略以及安全控制等多个方面。在实践中,我们还需要考虑到性能优化和用户体验提升,例如使用异步上传、进度条展示等技术。
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。
在Struts中实现文件上传功能,是一项常见的需求,尤其在处理用户提交的各种文件,如图片、文档等时。这个功能可以帮助开发者将用户选择的文件从客户端传输到服务器端进行存储或者处理。 一、Struts2文件上传的基本...
在Struts框架中实现文件上传是一项常见的需求,它允许用户通过Web界面上传本地文件到服务器。文件上传功能在许多应用场景中都是必不可少的,如用户头像上传、文档分享等。 在Struts中实现文件上传主要涉及到以下几...
在Struts1框架中实现文件上传功能是一项常见但又具有一定技术挑战的任务。下面将详细解析文件上传的实现过程,包括关键类的使用、文件处理逻辑以及异常处理等方面。 #### Struts1框架简介 Struts1是Apache Struts的...
本篇文章将详细讲解如何利用Struts2.2和Hibernate3.6实现文件的上传与动态下载。 **一、文件上传** 1. **环境配置**:首先,你需要一个集成开发环境,例如MyEclipse8.6,并安装所需的Struts2.21、JUnit4.8.2以及...
在Struts2文件上传中,通常会有一个成员变量用于存储上传文件的MIME类型,这个变量的名称应该是`uploadContentType`而不是`uploadContextType`。尽管这个错误并不会导致程序无法运行,但修正它能提高代码的可读性和...
在Struts中实现文件上传主要涉及到以下几个关键知识点: 1. **.struts-config.xml配置**: 在Struts配置文件中,我们需要为处理文件上传的Action添加一个`<form-bean>`元素,指定`enctype="multipart/form-data"`...
在这个“Struts1实现文件上传源码”实例中,我们将深入探讨如何利用Struts1框架来处理文件上传操作。 在Web应用中,文件上传功能是非常常见的,比如用户上传头像、提交文档等。Struts1提供了ActionForm类和一系列...
在Struts中实现文件上传功能是一项常见的需求,尤其是在用户需要提交包含文件的数据时,如图片、文档等。在这个简单的Struts项目中,我们关注的重点是如何实现文件上传以及处理中文乱码问题。 首先,文件上传的实现...
1. **文件上传组件**:在Struts2中,我们通常使用`Commons FileUpload`库来处理文件上传。这个库提供了处理多部分HTTP请求的能力,是Java中处理文件上传的标准库。我们需要在Struts2配置文件中引入对应的拦截器`...
下面将详细阐述如何使用Struts2来实现文件上传功能。 1. **Struts2文件上传组件** Struts2框架集成了一个名为`struts2-convention-plugin`的插件,它提供了文件上传的支持。主要依赖于`Commons FileUpload`和`...
在 Struts 2 中实现文件上传,首先需要在 JSP 页面创建一个支持多部分数据的表单。例如,在 `FileUpload.jsp` 文件中,表单的 `method` 应设置为 `POST`,`enctype` 应设置为 `multipart/form-data`。此外,使用 `...
在Struts2中,文件上传主要依赖于`org.apache.struts2.components.FileUpload`组件,这个组件是基于Commons FileUpload库实现的,它能够处理multipart/form-data类型的HTTP请求,这是文件上传所必需的格式。...
文件上传比较多,多文件上传少一点 文件下载很少的,看似简单,实则不然 网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供...
在实现文件上传时,必须注意以下安全问题: 1. **文件类型检查**:限制上传的文件类型,防止恶意用户上传可执行文件或脚本。 2. **文件名重命名**:避免文件覆盖或路径遍历攻击,对上传的文件名进行重命名。 3. **...
在这个“Struts1实现的文件上传”项目中,我们将深入探讨如何在Struts1框架下实现文件上传功能,并不涉及文件下载的部分。 首先,理解文件上传的基本流程是至关重要的。在Web应用中,用户通过HTML表单选择本地文件...
下面将详细介绍Struts 实现文件上传的相关知识点。 ### 1. Struts 框架概述 Struts 是Apache软件基金会下的一个开源项目,其主要目标是提供一个可扩展且易于维护的架构,用于构建企业级的Java Web应用。它通过分离...