java实现文件上传、下载

java实现文件上传、下载
java实现文件上传、下载

tomcat上传文件下载文件

首先介绍一下我们需要的环境:我用的是myeclipse8.5的java开发环境,tomcat是用的apache-tomcat-6.0.26这个版本。首先先需要准备一下使用到的

jar包

这些jar包是struts2的jar包。这些jar包是都是用于上传文件的。

注意:这里的jar包版本必须是对应的,如不是可能会tomcat下报错。所以大家最好注意一下啊。最好是用这套jar包。我将会在csdn上将项目jar包发上去。

Jar下载地址(0

分):https://www.360docs.net/doc/204903243.html,/detail/woaixinxin123/4193113 源代码下载(10分):

https://www.360docs.net/doc/204903243.html,/detail/woaixinxin123/4193134

开始搭建我们的项目。创建web项目名字为File。

第一步:搭建struts2框架。

1、到jar包。

2、编辑web.xml

xmlns="https://www.360docs.net/doc/204903243.html,/xml/ns/javaee"

xmlns:xsi="https://www.360docs.net/doc/204903243.html,/2001/XMLSchema-instance"

xsi:schemaLocation="https://www.360docs.net/doc/204903243.html,/xml/ns/javaee

https://www.360docs.net/doc/204903243.html,/xml/ns/javaee/web-app_2_5.xsd">

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepa reAndExecuteFilter

struts2

/*

index.jsp

3、添加struts.xml

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"https://www.360docs.net/doc/204903243.html,/dtds/struts-2.0.dtd">

4、启动tomcat测试。

配置完成的tomcat提示。

第二步:编写首页

代码:

<%@page language="java"import="java.util.*" pageEncoding="utf-8"%>

<%@taglib uri="/struts-tags"prefix="s"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.get ServerPort()+path+"/";

%>

多文件上传

第三部:编写action

代码:

package file.action;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.List;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {

/**

*

*/

//上传文件的路径地址(文件夹提前创建)

private static final String PATH= "D:\\apache-tomcat-6.0.26\\webapps\\uploadFiles\\";

private static final long serialVersionUID = 1L;

private List upload;

public List getUpload() {

return upload;

public void setUpload(List upload) {

this.upload = upload;

}

public List getUploadFileName() {

return uploadFileName;

}

public void setUploadFileName(List uploadFileName) { this.uploadFileName = uploadFileName;

}

private List uploadFileName;

public String execute() throws Exception{

//判断文件是否为空

if(upload!=null){

//循环遍历文件

for(int i=0;i

//取到文件流

InputStream is=new FileInputStream(upload.get(i));

//创建文件输出流

OutputStream os=new FileOutputStream(PATH+uploadFileName.get(i));

//缓存字节

byte buffer[]=new byte[1024];

//缓存字节大小

int count=0;

//写文件

while((count=is.read(buffer))>0){

os.write(buffer,0,count);

}

//关闭流

os.close();

is.close();

}

}else{

return INPUT;

}

return SUCCESS;

}

第四部:配置struts.xml

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"https://www.360docs.net/doc/204903243.html,/dtds/struts-2.0.dtd">

/success.jsp

/input.jsp

第五步:创建缺省页面

Success.jsp

<%@ page language="java"import="java.util.*" pageEncoding="utf-8"%>

文件上传

上传成功

Input.jsp

<%@page language="java"import="java.util.*" pageEncoding="utf-8"%>

文件上传

文件为空,不能上传

上传文件测试:

启动tomcat添加File 打开浏览器输入网址

查看文件是否在:

确认,而且数据都对。

文件下载:

为区别开下载的类型下载区分为文件、图片、视频、音频、四类。定义文件读写的常用方法:

package file.download;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

public class FileUtils {

/**

* 计算机目录

*/

private String SDPA TH;

public String getSDPA TH() {

return SDPA TH;

}

public FileUtils(String path) {

//得到当前外部存储设备的目录

// /SDCARD

this.SDPA TH =path;

}

/**

* 在SD卡上创建文件

*

* @throws IOException

*/

public File creatSDFile(String fileName) throws IOException { File file = new File(SDPA TH + fileName);

file.createNewFile();

return file;

}

/**

* 在SD卡上创建目录

*

* @param dirName

*/

public File creatSDDir(String dirName) {

File dir = new File(SDPA TH + dirName);

dir.mkdirs();

return dir;

}

/**

* 判断SD卡上的文件夹是否存在

*/

public boolean isFileExist(String fileName){

File file = new File(SDPA TH + fileName);

return file.exists();

}

/**

* 将一个InputStream里面的数据写入到SD卡中

*/

public File write2SDFromInput(String path,String fileName,InputStream input){ File file = null;

OutputStream output = null;

try{

creatSDDir(path);

file = creatSDFile(path + fileName);

output = new FileOutputStream(file);

byte buffer [] = new byte[1];

while((input.read(buffer)) != -1){

output.write(buffer);

}

output.flush();

}

catch(Exception e){

e.printStackTrace();

}

finally{

try{

output.close();

}

catch(Exception e){

e.printStackTrace();

}

}

return file;

}

}

实现下载的工具类

package file.download;

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import https://www.360docs.net/doc/204903243.html,.HttpURLConnection;

import https://www.360docs.net/doc/204903243.html,.MalformedURLException;

import https://www.360docs.net/doc/204903243.html,.URL;

public class HttpDownloadUtil {

private String path =null ;

private URL url = null;

public HttpDownloadUtil(String path) {

super();

this.path = path;

}

/**

* 根据URL下载文件,前提是这个文件当中的内容是文本,函数的返回值就是文件当中的内容

* 1.创建一个URL对象

* 2.通过URL对象,创建一个HttpURLConnection对象

* 3.得到InputStram

* 4.从InputStream当中读取数据

* @param urlStr

* @return

*/

public String download(String urlStr) {

StringBuffer sb = new StringBuffer();

String line = null;

BufferedReader buffer = null;

try {

// 创建一个URL对象

url = new URL(urlStr);

// 创建一个Http连接

HttpURLConnection urlConn = (HttpURLConnection) url

.openConnection();

// 使用IO流读取数据

buffer = new BufferedReader(new InputStreamReader(urlConn

.getInputStream()));

while ((line = buffer.readLine()) != null) {

sb.append(line);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

buffer.close();

} catch (Exception e) {

e.printStackTrace();

}

}

return sb.toString();

}

/**

* 该函数返回整形-1:代表下载文件出错0:代表下载文件成功1:代表文件已经存在

*/

public int downFile(String urlStr, String path, String fileName) {

InputStream inputStream = null;

try {

FileUtils fileUtils = new FileUtils(this.path);

if (fileUtils.isFileExist(path + fileName)) {

return 1;

} else {

inputStream = getInputStreamFromUrl(urlStr);

File resultFile = fileUtils.write2SDFromInput(path,fileName, inputStream);

if (resultFile == null) {

return -1;

}

}

} catch (Exception e) {

e.printStackTrace();

return -1;

} finally {

try {

inputStream.close();

} catch (Exception e) {

e.printStackTrace();

}

}

return 0;

}

/**

* 根据URL得到输入流

*

* @param urlStr

* @return

* @throws MalformedURLException

* @throws IOException

*/

public InputStream getInputStreamFromUrl(String urlStr)

throws MalformedURLException, IOException {

url = new URL(urlStr);

HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();

InputStream inputStream = urlConn.getInputStream();

return inputStream;

}

}

实现下载分类的助手类:

package file.download;

public class HttpDownloader{

private String path ;

/**

*

* @param path 计算机路径

*/

public HttpDownloader(String path) {

super();

this.path = path;

}

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

private String url ;

public boolean downloadOther(String url) {

String phonepath = "download/";

return this.down(phonepath,url);

}

/**

* 获取文件名称以及文件类型

*

* @param pathandname

* @return

*/

private String getFileName(String pathandname) {

int start = pathandname.trim().lastIndexOf("/");

int end = https://www.360docs.net/doc/204903243.html,stIndexOf("");

if (start != -1 && end != -1) {

return pathandname.substring(start + 1, end);

} else {

return null;

}

}

/**

*

* @param phonepath

* @param url

* @return

*/

private boolean down(String phonepath,String url){ HttpDownloadUtil hdutil = new HttpDownloadUtil(this.path);

// 获取文件名称和类型

String filename = getFileName(url);

int result = hdutil.downFile(url, phonepath, filename);

if(result ==0 ){

return true;

}else if(result==1){

System.out.println("文件已存在!");

}

return false;

}

下载测试:

第一步:将tomcat里放入一张图片我们用我们上传的文件路径然后新建一个文件夹叫做images 放进一张图片

首先用浏览器访问这张图片

浏览区确认可以访问到

下载测试

package file.download.test;

import file.download.HttpDownloader;

public class DownloadTest {

/**

* @param args

*/

public static void main(String[] args) {

//下载储存路径

String path = "c:\\Users\\ytzn\\Desktop\\";

//下载地址

String url = "http://localhost:8888/uploadFiles/images/bizhi.jpg";

HttpDownloader hdl = new HttpDownloader(path);

//下载类型

if(hdl.downloadOther(url)){

System.out.println("下载成功!");

}else{

System.out.println("下载失败!");

}

}

}

结果:

整个项目浏览

大家若有疑问请联系本人QQ:26048853200

Java多方式实现文件上传

在Struts 2中实现文件上传 前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题,所以今天我们就来讨论一下这个问题。 实现原理 Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的文件。 具体实现 前段时间Apache发布了Struts 2.0.6 GA,所以本文的实现是以该版本的Struts 作为框架的。以下是例子所依赖类包的列表: 清单1 依赖类包的列表 首先,创建文件上传页面FileUpload.jsp,内容如下: <% @ page language = " java " contentType = " text/html; charset=utf-8 " pageEncodi ng = " utf-8 " %> <% @ taglib prefix = " s " uri = " /struts-tags " %> Struts 2 File Upload

Java实现视频网站的视频上传及视频播放功能

视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash 制作的播放器来播放该文件.项目中用制作的播放器. 多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。?? ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。 1.能支持的格式 ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等) 2.不能支持的格式 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),可以先用别的工具(mencoder)转换为avi(ffmpeg 能解析的)格式. 实例是将上传视频转码为flv格式,该格式ffmpeg支持,所以我们实例中需要ffmpeg视频处理工具. 数据库 实例所需要的数据库脚本 drop database if exists db_mediaplayer;create database db_mediaplayer;use db_mediaplayer; create table tb_media( id int not null primary key auto_increment comment '主键' , title varchar(50) not null comment '视频名称' , src varchar(200) not null comment '视频存放地址' , picture varchar(200) not null comment '视频截图' , descript varchar(400) comment '视频描述' , uptime varchar(40) comment '上传时间' );

Java文件上传类FileUploadUtil.java代码+注释

? 一个通用的Java文件上传类,支持上传图片,支持生成缩略图,设置最大上传文件字节数,不设置时默认10M,可接收来自表单的数据,当有多个文件域时, 只上传有文件的,忽略其他不是文件域的所有表单信息,支持用户对上传文件大小, 字节进行设置,本上传类可过滤掉以下文件类型:".exe", ".com", ".cgi", ".asp", ".php", ".jsp"等,你可自已添加过滤的文件后缀,上传文件时如果没有上传目录,则自动创建它。。。 ? package com.gootrip.util; import java.io.File; import java.util.*; import https://www.360docs.net/doc/204903243.html,mons.fileupload.*; import javax.servlet.http.HttpServletRequest; import java.util.regex.Pattern; import java.io.IOException; import https://www.360docs.net/doc/204903243.html,mons.fileupload.servlet.ServletFileUpload; import https://www.360docs.net/doc/204903243.html,mons.fileupload.disk.DiskFileItemFactory; import java.util.regex.Matcher; /** * TODO 要更改此生成的类型注释的模板,请转至 * 窗口-首选项- Java -代码样式-代码模板 */ public class FileUploadUtil {

//当上传文件超过限制时设定的临时文件位置,注意是绝对路径 private String tempPath = null; //文件上传目标目录,注意是绝对路径 private String dstPath = null; //新文件名称,不设置时默认为原文件名 private String newFileName = null; //获取的上传请求 private HttpServletRequest fileuploadReq = null; //设置最多只允许在内存中存储的数据,单位:字节,这个参数不要设置太大 private int sizeThreshold = 4096; //设置允许用户上传文件大小,单位:字节 //共10M private long sizeMax = 10485760; //图片文件序号 private int picSeqNo = 1; private boolean isSmallPic = false; public FileUploadUtil(){ } public FileUploadUtil(String tempPath, String destinationPath){ this.tempPath = tempPath; this.dstPath = destinationPath; }

JAVA中几种上传方法介绍、比较

java中几种上传方法介绍、比较 1引言 一个网站总是不可避免的要和用户进行信息的交互,能直接使用 request.getParameter()来取得。至于所使用的方法有很多种,比如:jspsmart 公司的jspsmartupload组件,O`Rrilly公司的cos组件,Jakarta Apache公司的commonsFileUpload组件,JavaZoom的uploadbean组件,还有Struts组件中自带的org.apache.struts.upload类工具等等。下面就针对其中的三种解决方案(jspsmartupload、O`Reilly-cos、struts.upload)做一个简单的介绍和对比。2O`Rrilly-Cos Cos组件是O`Rrilly公司开发的,该组件免费,不定期增加新功能,开源。 图1O`Rrilly-Cos 在Cos组件中,MultipartRequest类主要负责文件上传的处理。MultipartRequest有8个构造函数: 1.Public MultipartRequest(HttpServletRequest request,String saveDirectory,)throws IOException 2.Public MultipartRequest(HttpServletRequest request,String saveDirectory,int maxPostSize)throws IOException 3.Public MultipartRequest(HttpServletRequest request,String saveDirectory,int maxPostSize,FileRenamePolicy policy)throws IOException倘若是从窗体传送一般的简单输入类型(例如:text、password、radio、checkbox、select等等)的信息到服务器端时,只要使用 application/x-www-form-urlencoded的编码方式用session传递就可以了。但是当涉及到和用户之间的文件交换(包括上传和下载)时,就不是那么简单了。在上传文件到服务器时,必须要使用multipart/form-data的编码方式,并且不

java实现文件上传、下载

tomcat上传文件下载文件 首先介绍一下我们需要的环境:我用的是myeclipse8.5的java开发环境,tomcat是用的apache-tomcat-6.0.26这个版本。首先先需要准备一下使用到的 jar包 这些jar包是struts2的jar包。这些jar包是都是用于上传文件的。 注意:这里的jar包版本必须是对应的,如不是可能会tomcat下报错。所以大家最好注意一下啊。最好是用这套jar包。我将会在csdn上将项目jar包发上去。 Jar下载地址(0 分):https://www.360docs.net/doc/204903243.html,/detail/woaixinxin123/4193113 源代码下载(10分): https://www.360docs.net/doc/204903243.html,/detail/woaixinxin123/4193134 开始搭建我们的项目。创建web项目名字为File。 第一步:搭建struts2框架。 1、到jar包。

2、编辑web.xml struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepa reAndExecuteFilter struts2 /* index.jsp

Java实现视频网站的视频上传及视频播放功能

Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的播放器. 多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。?? ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。 1.能支持的格式 ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等) 2.不能支持的格式 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式. 实例是将上传视频转码为flv格式,该格式ffmpeg支持,所以我们实例中需要ffmpeg视频处理工具. 数据库 实例所需要的数据库脚本 drop database if exists db_mediaplayer;create database db_mediaplayer;use db_mediaplayer; create table tb_media( id int not null primary key auto_increment comment '主键' , title varchar(50) not null comment '视频名称' , src varchar(200) not null comment '视频存放地址' , picture varchar(200) not null comment '视频截图' , descript varchar(400) comment '视频描述' , uptime varchar(40) comment '上传时间' ); desc tb_media;

java读取上传excel文件和txt文件中的数据

Java 读取上传文件里的数据,记事本文件和excel文件 本文,文本文件里的数据,每列以 Tab 分隔。 其它分隔符情况下,只需修改对分隔符的判断即可 本文是将文本文件或excel文件里的数据读到List 里。 List , List, ........可以改为返回其它类型的数据集 UpLoadExcel 类里需要操作excel的 jar包 import org.apache.poi.* ; 网上可以搜索下载,简单快捷 ---------------------------------------------------------------------------- - - - public class upLoadAction extends DispatchAction { public ActionForward doAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { TestForm myForm = (TestForm) form; FormFile f = myForm.getUpfisle(); //get上传文件 String fileName = f.getFileName(); // 截取文件名的后三位字符 String fileType = fileName.substring(fileName.length()-3,fileName.length()); System.out.println("导入的文件名:"+fileName+"\t 文件后缀名:"+fileType); List list = new ArrayList(); if("xls".equals(fileType)){ // 上传文件是excel时文件文件后缀名为xls list = new UpLoadExcel().getExcelData(f.getInputStream()); }else if("txt".equals(fileType)){ list = new UploadText().UploadText(f.getInputStream()); } // 操作读取出来的数据,例如: if (list.size() > 0) { String[] str = null; for(int i = 0; i < list.size(); i++) { str = list.get(i); st = "insert into student (sName,sAge,sAddress,sTelephone) values(" ; st = "'" + st + str[0] + "'"; st = ",'" + st + str[1] + "'"; st = ",'" + st + str[4] + "'"; st = ",'" + st + str[6] + "'"; st = st + ")"; ...... System.out.println(st);

Java文件上传下载

主要方法介绍 上传 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 上传初始化 su.initialize(pageContext); // 限制每个上传文件的最大长度。 su.setMaxFileSize(10000); // 限制总上传数据的长度。 su.setTotalMaxFileSize(20000); // 设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 su.setAllowedFilesList("doc,txt"); // 设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat, //jsp,htm,html扩展名的文件和没有扩展名的文件。 su.setDeniedFilesList("exe,bat,jsp,htm,html,,"); // 上传文件 su.upload(); // 将上传文件全部保存到指定目录 int count = su.save("/upload"); 下载 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 初始化 su.initialize(pageContext); // 设定contentDisposition为null以禁止浏览器自动打开文件, //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为 //doc时,浏览器将自动用word打开它。扩展名为pdf时, //浏览器将用acrobat打开。 su.setContentDisposition(null); // 下载文件 su.downloadFile("/upload/test.doc"); ***************************************************************************************************** ***************** 应用实例: 用户只能上传图片格式的文件实例

java实现图片或文件的上传功能实现代码

java实现图片或文件的上传功能具体思路及代码 一、思路 文件是如何从本地发送到服务器的呢? 首先,我们创建一个新的web工程,在工程的WebRoot目录下新建一个upload文件夹,这样当我们将该工程部署到服务器上时,服务器便也生成个upload文件夹,用来存放上传的资源。 然后,在WebRoot目录下新建一个jsp文件,主要实现的作用就是选择上传的文件,提交至servlet来进行处理 详细代码如下:一个form将文件信息通过post方式传送到指定的servlet 二、代码 复制代码代码如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> "> My JSP 'upload.jsp' starting page

请选择上传的图片或文件:

java上传文件通过mybatis存储到数据库的BLOB格式中

上传文件通过mybatis存储到数据库的BLOB格式中 HTML 页面需要设置一个文件框 [html]view plaincopy 1.

2. 3. 4. 5.
上传操作方法: [java]view plaincopy 1.public int doUpload() throws Exception { 2. 3. Map param = new HashMap(); 4. ServletFileUpload servletFileUpload = new ServletFileUpload(); 5. FileItemIterator itr = servletFileUpload.getItemIterator(mSGA.getCur rentRequest()); 6.while (itr.hasNext()) { 7. FileItemStream fi = itr.next(); 8.if ("file".equals(fi.getFieldName())) { 9. InputStream is = fi.openStream(); 10.byte[] b = FileCopyUtils.copyToByteArray(is); //FileCopyU tils 为spring下的一个工具类。 11.if (b == null || b.length == 0) { return0; } 12. param.put("FILE", b);//此处所用的参数类型为 byte[] 13. } 14. } 15. 16.//////////各种参数放入param你懂得。。。。 17. 18.//dao 为个人封装的工具类。。。 19. 20. param.put("ID", dao.getSequence("SEQ_NAME")); 21.

WebUploader,Java大文件分片上传

Web大文件分片上传 Web环境中大文件上传不能再用form表单一次上传了,这样效率太低; 我在不断尝试SpringMVC环境下分片接受文件,最终失败;原因目测是SpringMVC、Struts 框架是不支持HTML5方式上传的(这类框架只能支持Form表单方式的文件上传,或者FLash) 那我们可以使用Servlet和SpringMVC结合集成方式实现大文件分片上传; 一、来看看我们的web.xml的配置 很明显两个servlet,上面一个配置的是SpringMVC的入口,下面servlet是视频上传; 他们俩的url-pattern不能冲突;

二、先来看看WebUploader的前端代码 以下是代码: <%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

3.

Java文件上传下载

把压缩包里面的jar拷贝到工程的lib下面即可 主要方法介绍 上传 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 上传初始化 su.initialize(pageContext); // 限制每个上传文件的最大长度。 su.setMaxFileSize(10000); // 限制总上传数据的长度。 su.setTotalMaxFileSize(20000); // 设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 su.setAllowedFilesList("doc,txt"); // 设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat, //jsp,htm,html扩展名的文件和没有扩展名的文件。 su.setDeniedFilesList("exe,bat,jsp,htm,html,,"); // 上传文件 su.upload(); // 将上传文件全部保存到指定目录 int count = su.save("/upload"); 下载 // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 初始化 su.initialize(pageContext); // 设定contentDisposition为null以禁止浏览器自动打开文件, //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为 //doc时,浏览器将自动用word打开它。扩展名为pdf时, //浏览器将用acrobat打开。 su.setContentDisposition(null); // 下载文件 su.downloadFile("/upload/test.doc"); ***************************************************************************************************** *****************

JAVA中的文件上传

SmartUpload上传图片 目标:在Jsp页面中实现文件上传 初级篇 文件上传是我们程序中会经常使用到的功能,针对于上传的技术也非常多!那么在此介绍两种常用简单的上传方式 上传方式一:使用SmartUpload组建进行上传 上传方式二:使用Struts的标签进行上传 我们新建一个Java Web工程,这里使用纯粹的jsp进行上传和显示功能的实现。 我们需要在我们的工程中添加smartUpload.jar包 之后我们编写index.jsp Index.jsp View Index.jsp Source 需要注意的设置表单的enctype="multipart/form-data"这个值我们可以再Dreamweaver中选我们将表单提交到另一个处理上传请求的doUploadjsp页面 我们现在编写处理文件上传的页面doUpload.jsp

下面是doUpload.jsp页面中的源代码 <%@page language="java"import="java.util.*"pageEncoding="GBK"%> <%@page import="com.jspsmart.upload.File"%> <%@page import="com.jspsmart.upload.Files"%> <%@page import="com.jspsmart.upload.SmartUpload"%> <% //实例化上传组件 SmartUpload upload=new SmartUpload(); //初始化上传组件 upload.initialize(this.getServletConfig(),request,response); //开始上传 upload.upload(); //获取上传的文件列表对象 Files f=upload.getFiles(); //获取文件对象 File fil=f.getFile(0); //去的文件后缀 String ext=fil.getFileExt(); //判断文件类型是否是jpg格式 if(!(ext.equals("jpg"))){ out .println(""); return; } //满足条件进行文件的上传需要注意的是upload使我们webRoot文件夹下的一个目录 fil.saveAs("upload/"+fil.getFileName()); %> 至此我们就完成了一个最简单的图片上传示例。我们部署测试下! 文件上传页面 我们选择一个视频文件

Java多文件上传

java多文件上传(通过commos包中的DiskFileUpload的类来重新封装请求) public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // TODO Auto-generated method stub /* * PicForm pForm=(PicForm)form; FormFile file=pForm.getFile(); * //获取上传的绝对路径 String * path=this.getServlet().getServletContext().getRealPath("/upload"); * //获取文件名 String * filename=System.currentTimeMillis()+file.getFileName(); //上传的绝对路径 * String filepath=path+"/"+filename; try { FileOutputStream fos=new * FileOutputStream(filepath); fos.write(file.getFileData()); * fos.flush(); fos.close(); System.out.println("上传成功"); } catch * (Exception e) { // TODO: handle exception } */ try { String dir = servlet.getServletContext().getRealPath("/upload"); // String path = this.getServlet().getServletContext().getRealPath( // "/img"); DiskFileUpload dfu = new DiskFileUpload(); // 设置上传数据的最大大小为10M。 dfu.setSizeMax(0xA00000); // 设置内存缓冲区的阀值为512K。 dfu.setSizeThreshold(0x80000); // 设置临时存储文件的目录为E:\fileupload。 dfu.setRepositoryPath("E:\\fileupload"); // 得到FileItem对象的列表。 List fileItems = null; fileItems = dfu.parseRequest(request); Iterator it = fileItems.iterator(); while (it.hasNext()) { FileItem item = (FileItem) it.next(); String filename = new String(item.getName().getBytes( "ISO8859-1"), "utf-8"); // System.out.println(item.getName() + item.getContentType() // + item.getFieldName());

java文件上传,客户端和服务器端

package com.gem.hsx.servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.List; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import https://www.360docs.net/doc/204903243.html,mons.fileupload.FileItem; import https://www.360docs.net/doc/204903243.html,mons.fileupload.FileItemFactory; import https://www.360docs.net/doc/204903243.html,mons.fileupload.disk.DiskFileItemFactory; import https://www.360docs.net/doc/204903243.html,mons.fileupload.servlet.ServletFileUpload; public class UploadServlet extends HttpServlet { @SuppressWarnings("unchecked") protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String BOUNDARY= UUID.randomUUID().toString(); try { request.setCharacterEncoding("UTF-8"); // 设置处理请求参数的编码格式 response.setContentType("text/html;charset=UTF-8"); // 设置Content-Type字段值 PrintWriter out = response.getWriter(); out.println("文件开始!"); // 下面的代码开始使用Commons-UploadFile组件处理上传的文件数据 FileItemFactory factory = new DiskFileItemFactory(); // 建立FileItemFactory对象 ServletFileUpload upload = new ServletFileUpload(factory); // 分析请求,并得到上传文件的FileItem对象 List items = upload.parseRequest(request); // 从web.xml文件中的参数中得到上传文件的路径 String uploadPath = "d:\\upload\\"; File file = new File(uploadPath);

javaweb文件上传下载

孤傲苍狼 只为成功找方法,不为失败找借口! JavaWeb学习总结(五十)——文件上传和下载 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb 中的文件上传和下载功能的实现。 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,struts 上传的功能就是基于这个实现的。common-fileupload是依赖于common-io这个包的,所以还需要下载这个包。 一、开发环境搭建 创建一个FileUploadAndDownLoad项目,加入Apache的commons-fileupload文件上传组件的相关Jar包,如下图所示: 二、实现文件上传 2.1、文件上传页面和消息提示页面

upload.jsp页面的代码如下: 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 3 4 5文件上传 6 7 8 9

10上传用户:
11上传文件1:
12上传文件2:
13 14
15 16 message.jsp的代码如下: 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 3 4 5消息提示 6 7 8 9${message} 10 11

相关文档
最新文档