页面上有元素 <input type="file" name="file1">
<input type="file" name="file2">
<input type="file" name="file3">请问在Action中如何读取这三个文件?request.getParameter("file1")...好像不是用这样的方法吧?
上传上来的文件如何转为File对象?(我要用JXL读取上传上来的Excel文件中的数据)
<input type="file" name="file2">
<input type="file" name="file3">请问在Action中如何读取这三个文件?request.getParameter("file1")...好像不是用这样的方法吧?
上传上来的文件如何转为File对象?(我要用JXL读取上传上来的Excel文件中的数据)
解决方案 »
- FCKeditor文本编辑器
- ejb中用ant发布的一个问题
- 我有一串json数据[{bh":"001","name":"小花猫"}] ,我该如何提前它们bh的值和name的数值呢?
- java 创建数据库表 要求可移植到所有数据库 hibernate
- 怎么把Excel嵌入到jsp页面
- 伸缩菜单
- 寻找一段压缩文件的代码和TCP发送文件的代码。
- ajax & java 一个根据 程序 进程 局部刷新网页的问题
- 在提交了一次add后,选择列表中的中文都变成了"????????",为什么?
- 使用jspsmartupload上载文件时,如何让页面提示"正在上载,请稍后..."?
- 请问大家Overloaded的方法是可以改变返回值的类型?,Overlride的方法是可以改变返回值的类型?
- jsp连接mysql速度奇慢
楼主【QQ46691550】截止到2008-07-08 14:25:07的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:1 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
然后在Action中Form.getFile1();就可以用了吗?可是我用了出现空指针异常了
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*我的是使用common fileupload
*/
package com.oy.struts.action;import java.io.File;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import com.oy.image.model.LoginUser;
import com.oy.image.service.ImageManager;
public class KKAction extends Action {
private static final long serialVersionUID = 2431664260164700200L;
private ServletContext sc;
private String savePath;
private ImageManager imageManager;
public void setImageManager(ImageManager imageManager) {
this.imageManager = imageManager;
} /**
* Method execute
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
savePath =request.getSession().getServletContext().getInitParameter("uploads");
//savePath=config.getServletContext().getInitParameter("savePath");
System.out.println("+++++++++++++++++++"+savePath);
// if(!new File(savePath).isDirectory())
System.out.println(new File(savePath).getAbsolutePath());
if(!new File(savePath).exists())
{ new File(savePath).mkdirs();
}
sc = request.getSession().getServletContext();
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
String userName = null;
String url = null;
try {
List items = upload.parseRequest(request);
Iterator it = items.iterator();
while (it.hasNext()) {
FileItem item = (FileItem) it.next();
if (item.isFormField()) {
userName = item.getString("UTF-8");
System.out.println("表单的参数名称:" + item.getFieldName() + ",对应的参数值:"
+ item.getString("UTF-8"));
} else {
if (item.getName() != null && !item.getName().equals("")) { System.out.println("上传文件的大小:" + item.getSize());
System.out.println("上传文件的类型:" + item.getContentType());
System.out.println("上传文件的名称:" + item.getName()); File tempFile = new File(item.getName());
File file = new File(sc.getRealPath("/") + savePath, tempFile.getName());
url = file.getAbsolutePath();
System.out.println(file.getAbsolutePath());
item.write(file); if (userName != null & userName != "" & url != null & url != "") {
LoginUser user = new LoginUser();
user.setUername(userName);
user.setUerheadurl(url);
System.out.println(userName);
System.out.println(url);
imageManager.save(user);
} request.setAttribute("upload.message", "上传文件成功!"); } else {
request.setAttribute("upload.message", "没有选择上传文件!");
}
}
}
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("upload.message", "上传文件不成功!");
}
return null;
}
}
用For循环之后进行读取!~
<input type="file" name="file2">
<input type="file" name="file3"> 把name都换成是一样的
可以参考一下Faceye开源portal里面关于这一点的实现http://ecsun.javaeye.com
private List<File> fileList;
然后用循环读出
for(File a:List fileList)
PageContext pageContext = JspFactory.getDefaultFactory()
.getPageContext(this.getServlet(), request, response, null,
true, 8192, true);
daoImpl public int upload(PageContext pageContext) { // store stuffix
String suffix = ""; // file upload count
int count = 0; // test instance
Person p = new Person(); try { SmartUpload su = new SmartUpload(); // nitialization,must do begin.
su.initialize(pageContext); // set upload file size is 5MB
su.setMaxFileSize(5 * 1024 * 1024); // upload by form content
su.upload(); // cycle get file
for (int i = 0; i < su.getFiles().getCount(); i++) { // get a file
com.jspsmart.upload.File myFile = su.getFiles().getFile(i); // if file exist,save
if (!myFile.isMissing()) { String fileName = myFile.getFileName(); // get file stuffix
for (int j = 0; j < fileName.length() - 1; j++) { char ch = fileName.charAt(j); char point = '.'; if (ch == point) { suffix = fileName.substring(j, fileName.length());
}
}
Date date = new Date();
// rename file and save to absoluteness path
String rename = date.getTime()+ suffix; System.out.println(rename);
myFile.saveAs("/upload/" + rename,
SmartUpload.SAVE_VIRTUAL); System.out.println("您成功上传文件-------->" + fileName); /*
* show the file particular information
* System.out.println("FieldName=" + myFile.getFieldName() + "<br>"); //
* file size System.out.println("size=" + myFile.getSize() + "<br>");
*
* System.out.println("--------->" +
* myFile.getFileName().length());
*
* //file name
* System.out.println("FileName---------------->" + fileName + "<br>"); //
* file from path System.out.println("FilePathName=" +
* myFile.getFilePathName() + "<br>");
*/ p.setPicName(rename);
p.setPicSize_byte(myFile.getSize());
p.setPicStorePath("/upload/" + rename);
count++;
}
} // directly save all file
// count = su.save("d:\\"); System.out.print("您成功上传" + count + "个文件."); // get other form element Enumeration
java.util.Enumeration e = su.getRequest().getParameterNames(); // Retreive parameters
while (e.hasMoreElements()) { String key = (String) e.nextElement();
String[] values = su.getRequest().getParameterValues(key); // Browse the current parameter values
for (int i = 0; i < values.length; i++) {
if (key.equals("personName")) {
p.setPersonName(values[i]);
}
if (key.endsWith("personPwd")) {
p.setPersonPwd(values[i]);
} // System.out.print(key + " = ");
// System.out.print(values[i] + "<BR>");
}
} // save test instance
this.getHibernateTemplate().save(p); } catch (Exception e) {
e.printStackTrace();
} return count;
}
参考,希望对lz有用。