- 浏览: 936743 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
在stucts中上传文件步骤:
第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从http://commons.apache.org/下载。
第二步:编写提交表单:index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<form enctype="multipart/form-data" action="${pageContext.request.contextPath}/test/upload.action" method="post">
<input type="file" name="uploadImage">
<input type="submit" value="提交">
</form>
<body>
</body>
</html>
第三步:编写Action
public class uplodeFile {
private File uploadImage;//这个名字和<input type="file" name="uploadImage">相同
private String uplodeFileContentType;//同上-ContentType这必须这么写
private String uploadImageFileName;//同上-FileName;这必须这么写
private String path;
public String getPath() {
return path;
}
public File getUploadImage() {
return uploadImage;
}
public void setUploadImage(File uploadImage) {
this.uploadImage = uploadImage;
}
public String getUplodeFileContentType() {
return uplodeFileContentType;
}
public void setUplodeFileContentType(String uplodeFileContentType) {
this.uplodeFileContentType = uplodeFileContentType;
}
public String getUploadImageFileName() {
return uploadImageFileName;
}
public void setUploadImageFileName(String uploadImageFileName) {
this.uploadImageFileName = uploadImageFileName;
}
public String upload() throws Exception
{
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(realpath);
if(!file.exists()) file.mkdirs();
path=file.getAbsolutePath();
FileUtils.copyFile(uploadImage, new File(file, uploadImageFileName));
return "success";
}
}
第四步:配置struts.xml文件
<action name="upload" class="com.liyong.uplodeFile.uplodeFile" method="upload" >
<result name="success">/WEB-INF/page/success.jsp</result>
<!-- 访问路径 http://localhost:8080/Structs2/test/sevletScope -->
</action>
第五步:部署
第六步:访问:http://localhost:8080/Structs2/index.jsp
注意:index.jsp在WebRoot目录下
第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从http://commons.apache.org/下载。
第二步:编写提交表单:index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<form enctype="multipart/form-data" action="${pageContext.request.contextPath}/test/upload.action" method="post">
<input type="file" name="uploadImage">
<input type="submit" value="提交">
</form>
<body>
</body>
</html>
第三步:编写Action
public class uplodeFile {
private File uploadImage;//这个名字和<input type="file" name="uploadImage">相同
private String uplodeFileContentType;//同上-ContentType这必须这么写
private String uploadImageFileName;//同上-FileName;这必须这么写
private String path;
public String getPath() {
return path;
}
public File getUploadImage() {
return uploadImage;
}
public void setUploadImage(File uploadImage) {
this.uploadImage = uploadImage;
}
public String getUplodeFileContentType() {
return uplodeFileContentType;
}
public void setUplodeFileContentType(String uplodeFileContentType) {
this.uplodeFileContentType = uplodeFileContentType;
}
public String getUploadImageFileName() {
return uploadImageFileName;
}
public void setUploadImageFileName(String uploadImageFileName) {
this.uploadImageFileName = uploadImageFileName;
}
public String upload() throws Exception
{
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(realpath);
if(!file.exists()) file.mkdirs();
path=file.getAbsolutePath();
FileUtils.copyFile(uploadImage, new File(file, uploadImageFileName));
return "success";
}
}
第四步:配置struts.xml文件
<action name="upload" class="com.liyong.uplodeFile.uplodeFile" method="upload" >
<result name="success">/WEB-INF/page/success.jsp</result>
<!-- 访问路径 http://localhost:8080/Structs2/test/sevletScope -->
</action>
第五步:部署
第六步:访问:http://localhost:8080/Structs2/index.jsp
注意:index.jsp在WebRoot目录下
发表评论
-
struts2的原理
2016-07-04 09:56 560众所周知,Struts2是个 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
国际化-配置全局资源与输出国际化信息及带占位符
2012-05-08 12:06 5263知识点: 【 <1、国际化: 准备资源文件,资源文件的 ... -
国际化-配置全局资源与输出国际化信息及带占位符
2012-05-04 15:38 0知识点: 【 <1、国际化: 准备资源文件,资源文件的 ... -
基于XML校验的一些特点
2012-05-08 12:05 951【 当为某个action提供了ActionClassName ... -
基于XML配置方式对指定action方法实现输入校验
2012-05-07 08:17 1192知识点: 【 当校验文件的取名为ActionClassNam ... -
基于XML配置方式实现对action的所有方法进行输入校验
2012-05-07 08:17 1340】 知识点: 】 使用基于XML配置方式实现输入校验时,Act ... -
输入校验的流程
2012-05-07 08:17 10771。类型转换器对请求参数执行类型转换,并把转换后的值赋给act ... -
手工编写代码实现对action指定方法输入校验
2012-05-07 08:17 1309知识点: 通过validateXxx()方法实现, vali ... -
手工编写代码实现对action中所有方法输入校验
2012-05-07 08:17 1138知识点: 通过重写validate() 方法实现, vali ... -
自定义拦截器
2012-05-03 13:40 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-06 10:41 1090先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ...
相关推荐
基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传 项目经过严格测试,确保可以运行! 采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...
之前发布一个大文件上传,但是问题太多,此版本相对上一个稳定得多 1,将压缩包里的 php_uploadprogress.dll 文件复制到你的PHP 安装目录里的扩展库文件夹 就是 ext文件夹下面 2,在你的服务器上随便一个地方(最好...
在Vue.js中,实现文件上传功能是常见的需求,尤其是在构建交互丰富的Web应用时。本篇将详细介绍Vue.js中实现多文件上传的相关知识点,以及如何使用`vue-upload-component`这个开源组件来帮助我们实现这一功能。 ...
为了简化这个过程,开发者通常会编写一个专门的文件上传类,以实现对上传过程的全面控制和错误处理。以下是对"PHP文件上传类"的详细解析: 1. **类的结构**: - 一个PHP文件上传类通常包含一系列的方法,如`upload...
在Java开发中,文件上传和下载是常见的功能需求,尤其在网络应用中,如网页、桌面应用或移动应用。为了实现这些功能,开发者通常需要引入特定的库或jar包。在这个场景下,"文件上传下载需要的jar包"指的是用于处理...
在Java开发中,多文件上传是一项常见的功能,尤其在Web应用中,用户可能需要一次性上传多个文件,如图片、文档等。本知识点将详细介绍如何在Java中实现这一功能,以及结合Flash实现上传界面并显示上传进度条。 1. *...
本想做个批量文件上传的功能(设想是客户选择一个目录后,程序能判断需要上传的文件上传到服务器指定目录下),结果没有做出来,在网上找了许多版本的批量上传程序,但实验效果不好,有的还需要下载分,上传文件也不能...
- **多文件上传**:支持单个文件和批量文件上传,提高用户操作效率。 2. **使用方法** 首先,你需要将压缩包中的PHP文件解压到你的项目目录中。然后,在需要实现文件上传功能的PHP脚本中引入该插件,通过调用其...
Bootstrap文件上传组件FileInput是一款强大的前端文件上传工具,尤其适合于需要实现文件批量上传的场景。这个组件基于Bootstrap框架,提供了美观的用户界面和丰富的功能,使得文件上传操作变得直观且易于实现。以下...
在这个“SpringMVC文件上传,多文件上传实例”中,我们将深入探讨如何在SpringMVC环境中实现文件上传功能,包括单个文件上传以及多个文件的批量上传。 1. **文件上传原理**: 文件上传是通过HTTP协议的POST请求来...
在.NET框架中,C#语言提供了丰富的功能来处理文件上传操作。对于初学者来说,理解并实现多文件上传是一项重要的技能,它可以帮助你构建交互性强、功能完善的Web应用程序。在这个"C# .NET FileUpload 多文件上传例子...
使用这个插件,开发者可以轻松集成到自己的项目中,实现高效、友好的文件上传功能。 HTML5文件上传的核心特性包括: 1. **多文件选择**:通过`<input type="file" multiple>`,用户可以在文件选择对话框中选取多个...
【标题】:多文件上传和展示 在网页开发中,多文件上传功能是常见的需求,尤其是在数据管理和资源共享的场景下。Bootstrap-fileinput 是一个流行的、功能丰富的jQuery插件,专门用于实现美观且实用的文件上传功能,...
在网络上找到的,纯JSP实现的文件上传程序,支持多文件的上传,例子是多文件的上传,稍微修改就可以变成单文件的上传或者更多文件的上传,控制成需要扩展名的文件上传,指定大小的文件上传等。程序目前上传文件存储...
"JSP多文件上传"是一个常见的需求,特别是在文件分享、在线教育或文档管理等场景。这个功能允许用户一次性选择并上传多个文件,提高了用户体验,减少了多次点击和等待时间。 实现JSP多文件上传,我们需要了解以下几...
这个功能对于处理大量文件上传的场景非常有用,比如在内容管理系统、图像库或者文件分享平台等应用中。 `MultiFileUploadField` 的核心特点包括: 1. **多选支持**:用户可以通过浏览器的文件选择对话框一次选择多...
在Android开发中,文件上传,特别是图片上传,是常见的需求之一。这涉及到用户选择本地文件,通常是图片,然后通过网络接口将这些文件发送到服务器。本文将深入探讨如何实现Android平台上的多文件和单文件上传,以及...
总之,"通用 万能 HttpHandler webRequest 文件上传"是一个关于使用自定义HttpHandler和HttpWebRequest进行文件上传的技术主题。这个解决方案旨在提供一个高度可定制和可扩展的文件上传服务,以满足各种Web应用的...
在现代Web应用中,大文件上传是一个常见的需求,特别是在数据密集型或媒体丰富的环境中。`Vue.js` 和 `SpringBoot` 是两个强大的技术框架,分别用于前端和后端开发。本教程将详细介绍如何利用这两者来实现高效的大...
接着,实现大文件上传的关键在于分块处理。我们可以将大文件分割成多个小块,然后逐个上传。这种方式降低了单次请求的压力,有利于网络不稳定时的恢复。PHP中,可以通过`fread()`函数读取文件的特定部分,`cURL`库则...