struts2上传图片的过程
1、写一个上传的jsp页面upload_image.jsp,内容如下:
<body>
<center>
<font
color="red"><s:fielderror/></font>
<s:form action="uploadOne"
method="post" enctype="multipart/form-data">
<s:file name="file"
label="文件1"></s:file>
<s:file name="file"
label="文件2"></s:file>
<s:file name="file"
label="文件3"></s:file>
<s:file name="file"
label="文件4"></s:file>
<s:submit
label="上传"/>
</s:form>
</center>
</body>
解析:A、
form里面的method必须是post,enctype="multipart/form-data"上传文件必须这样写
B、<s:fielderror/>这个是图片格式或者大小出错的错误提示---要在struts.xml里面先配置
C、name="file",批量上传name的值要一样
2、创建一个action--我的包是com.upload.one
public class UploadImageAction extends ActionSupport{
private
List<File> file;
private
List<String> fileFileName;
private
List<String> fileContentType;
public
String execute() throws IOException{
//得到工程保存图片的路径
String root =
ServletActionContext.getRequest().getRealPath("/upload");
//循环上传的文件
for(int i = 0 ; i < file.size() ; i ++){
InputStream is = new FileInputStream(file.get(i));
//得到图片保存的位置(根据root来得到图片保存的路径在tomcat下的该工程里)
File destFile = new File(root,this.getFileFileName().get(i));
//把图片写入到上面设置的路径里
OutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[400];
int length = 0 ;
while((length = is.read(buffer))>0){
os.write(buffer, 0, length);
|