
import java.io.FileInputStream
import java.io.FileOutputStream
import java.util.Date
import java.util.Iterator
import java.util.List
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpSession
import org.apache.commons.fileupload.FileItem
import org.apache.commons.fileupload.disk.DiskFileItemFactory
import org.apache.commons.fileupload.servlet.ServletFileUpload
import org.apache.struts2.interceptor.ServletRequestAware
import com.opensymphony.xwork2.Actionpublic class uploadfile implements Action,ServletRequestAware {
HttpServletRequest request
private File[] file
private String[] fileContentType
private String[] fileFileName
HttpServletRequest request
HttpSession sessionpublic void setServletRequest(HttpServletRequest request)
{this.request=request}
public File[] getFile() {
return file
}
public void setFile(File[] file) {
this.file = file
}
public String[] getFileContentType() {
return fileContentType
}
public void setFileContentType(String[] fileContentType) {
this.fileContentType = fileContentType
}
public String[] getFileFileName() {
return fileFileName
}
public void setFileFileName(String[] fileFileName) {
this.fileFileName = fileFileName
}*/ public String execute() throws Exception
{
session=request.getSession()
ConBean conbean=new ConBean()
conbean.con() //连接数据库
String name=(String)session.getAttribute("name")
for(int i=0i<file.lengthi++)
{
String address="resource/"+getFileFileName()[i]
String time=new Date().toString()
String sql="insert into resource(name,s_name,s_address,s_time) values('"+name+"','"+getFileFileName()[i]+"','"+address+"','"+time+"')"
conbean.insert(sql)
FileOutputStream w=new FileOutputStream("../webapps/webDemo/resource/"+getFileFileName()[i])
FileInputStream r= new FileInputStream(getFile()[i])
byte[] bt=new byte[19999999]
int len=0
if((len=r.read(bt))>0)
{
w.write(bt, 0, len)
}
w.close()
r.close()
}
return SUCCESS}
新建Web Project,在WebRoot下新建upload文件夹在WebRoot下新建upload.jsp,上传界面
编写上传成功、失败的提示界面。
在WebRoot下新建uploadError.jsp
在WebRoot下新建 uploadSuccess.jsp
编写Action类
配置struts.xml文件,重置fileUpload拦截器。
测试,测试完成之后在tomcat下面webapps目录下找到项目对应的文件夹下的upload下查看
struts.multipart.saveDir没有配置。struts.multipart.saveDir用于指定存放临时文件的文件夹,
于是在,struts.xml配置文件中增加如下:
<constant
name="struts.multipart.saveDir"
value="/tmp"/>
设置临时文件上传路径。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)