Java中fileupload上传文件的代码

Python015

Java中fileupload上传文件的代码,第1张

private static DiskFileItemFactory factory //获得磁盘文件条目工厂

private static ServletFileUpload upload //文件上传处理类

factory = new DiskFileItemFactory() //获得磁盘文件条目工厂

factory.setRepository(new File(config.getCache())) //创建缓存工厂

factory.setSizeThreshold(1024*1024*2) //设置缓存区的大小

upload = new ServletFileUpload(factory) //高水平的API文件上传处理

upload.setSizeMax(10 * 1024 * 1024) //设置文件上传的最大值

upload.setFileSizeMax(2* 1024 * 1024) //设置文件上传的最大值

List<FileItem>list = upload.parseRequest(request)

for(FileItem item : list){

String fieldName = item.getFieldName() //获取表单的属性名字

String fileName = item.getName() //获取文件名

if(item.isFormField()){ //如果获取的 表单信息是普通的 文本 信息

}else{

File file = new File("d://test.txt")

item.write(file)

}

}

在Java中可以用struts2实现多个文件同时上传代码,功能代码如下:

1、upload.jsp页面(选择上传文件)

<form action="upload.action" name="uploadForm" method="post" enctype="multipart/form-data">

文件标题:<input type="text" name="title"/><br/>

选择文件-:<input type="file" name="upload"/><br/>

选择文件二:<input type="file" name="upload"/><br/>

选择文件三:<input type="file" name="upload"/><br/>

<input type="submit" value="upload"/>  

</form>

2、action代码如下:

//对应的Action依次遍历所有文件域,然后生成对应的输入文件流,输出文件流在指定的服务器保存路径中添加对应的输出文件流保存文件。同时动态指定服务器上文件的保存路径。

package com.inspur.action  

import java.io.File

import java.io.FileInputStream

import java.io.FileOutputStream 

import org.apache.struts2.ServletActionContext 

import com.opensymphony.xwork2.ActionSupport 

public class UploadAction extends ActionSupport {

private String title

private File[] upload

private String[] uploadFileName

private String[] uploadContentType

private String savePath 

public String getTitle() {

return title

}

public void setTitle(String title) {

this.title = title

}

public File[] getUpload() {

return upload

}

public void setUpload(File[] upload) {

this.upload = upload

}

public String[] getUploadFileName() {

return uploadFileName

}

public void setUploadFileName(String[] uploadFileName) {

this.uploadFileName = uploadFileName

}

public String[] getUploadContentType() {

return uploadContentType

}

public void setUploadContentType(String[] uploadContentType) {

this.uploadContentType = uploadContentType

}

public String getSavePath() {

return ServletActionContext.getRequest().getRealPath(savePath)

}

public void setSavePath(String savePath) {

this.savePath = savePath

}

public String upload()throws Exception{

File[] files=this.getUpload()

for(int i=0i<files.lengthi++){

FileOutputStream fos=new FileOutputStream(this.getSavePath()+"\\"+this.getUploadFileName()[i])

byte[] buffer=new byte[1024]

FileInputStream fis=new FileInputStream(files[i])

int len=0

while((len=fis.read(buffer))>0){

fos.write(buffer,0,len)

}

return SUCCESS

}

3、success.jsp页面代码如下(上传成功界面显示所有上传的图片)

文件标题:<s:property value="title"/><br/>

第一个图片:<img alt="first" src="<s:property value="'upload/'+uploadFileName[0]"/>"/><br/>

第二个图片:<img alt="second" src="<s:property value="'upload/'+uploadFileName[1]"/>"/><br/>