struts2图片上传完整代码包括jsp文件应该怎么写 都说明,能解决给50分

 我来答
浮静涵X0
2012-04-13 · TA获得超过110个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:107万
展开全部
//action
package com.lxt008.struts2.action;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class FileUploadAction extends ActionSupport {
private static final int BUFFER_SIZE = 16 * 1024;

private File myFile;
private String contentType;
private String fileName;
private String imageFileName;
private String caption;

public void setMyFileContentType(String contentType) {
this.contentType = contentType;
}

public void setMyFileFileName(String fileName) {
this.fileName = fileName;
}

public void setMyFile(File myFile) {
this.myFile = myFile;
}

public String getImageFileName() {
return imageFileName;
}

public String getCaption() {
return caption;
}

public void setCaption(String caption) {
this.caption = caption;
}

private static void copy(File src, File dst) {
try {
InputStream in = null;
OutputStream out = null;
try {
in = new BufferedInputStream(new FileInputStream(src),
BUFFER_SIZE);
out = new BufferedOutputStream(new FileOutputStream(dst),
BUFFER_SIZE);
byte[] buffer = new byte[BUFFER_SIZE];
while (in.read(buffer) > 0) {
out.write(buffer);
}
} finally {
if (null != in) {
in.close();
}
if (null != out) {
out.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

private static String getExtention(String fileName) {
int pos = fileName.lastIndexOf(".");
System.out.println(fileName.substring(pos)+"8787");
return fileName.substring(pos);
}

@Override
public String execute() {
System.out.println(fileName+"===");
imageFileName = new Date().getTime() + getExtention(fileName);
File imageFile = new File(ServletActionContext.getServletContext()
.getRealPath("/UploadImages")
+ "/" + imageFileName);
copy(myFile, imageFile);
System.out.println(imageFile+"HZJ"+"==="+fileName+"=="+myFile);
return SUCCESS;
}

}
//jsp
<body>
<%--<s:fielderror/>--%>
<hr/>
<s:form action="fileUpload" method="POST" enctype="multipart/form-data">
<s:file name ="myFile" label ="Image File"/>
<s:textfield name="caption" label ="Caption"/>
<s:submit/>
</s:form>
</body>
//struts
<struts>
<package name="lxt" extends="struts-default">
<action name="fileUpload" class="com.lxt008.struts2.action.FileUploadAction">
<!-- <interceptor-ref name="fileUploadStack"/> -->
<interceptor-ref name="fileUpload">
<!-- 特别注意jpg图片要增加image/pjpeg,否则有可能上传不了 -->
<!-- 你可以先获取头部信息看看!!! -->
<param name ="allowedTypes">
image/bmp,image/png,image/gif,image/pjpeg,image/jpeg,image/jpg
</param >
<!-- 限制上传文件的大小,单位是字节 -->
<param name ="maximumSize">1024*1024</param >
</interceptor-ref>
<interceptor-ref name ="defaultStack"/>
<result name ="input">/FileUpload.jsp</result>

<result name="success">/ShowUpload.jsp</result>
</action>
</package>
</struts>
//jsp用来显示刚上传的图片
<body>
<div style ="padding: 3px; border: solid 1px #cccccc; text-align: center" >
<img src ='UploadImages/<s:property value ="imageFileName"/>'/>
<br/>
<s:property value ="caption"/>
</div>
</body>
ayanami365
2012-04-13 · TA获得超过937个赞
知道小有建树答主
回答量:1777
采纳率:0%
帮助的人:731万
展开全部
太少了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式