一个表单中除了要提交选择上传的图片,还要提交其它数据
比如要获取一个人的姓名,年龄…… 加上选择的上传图片
我用的是SmartUpload组件,在表单中非得加上 ENCTYPE="multipart/form-data" 属性
不加图片上传不了,加了,其它数据有获取不到,所以,有大虾能帮忙解决一下
比如要获取一个人的姓名,年龄…… 加上选择的上传图片
我用的是SmartUpload组件,在表单中非得加上 ENCTYPE="multipart/form-data" 属性
不加图片上传不了,加了,其它数据有获取不到,所以,有大虾能帮忙解决一下
解决方案 »
- 连接到一台提供web service的服务器
- HSSF操作EXECL表格,读取超长数字(手机号码)错误
- 网站之间的传值问题
- 在哪里可以下载bsf.jar的源代码?
- 十万火急!高分求教!tapestry能人请进!
- 怎样能方便地实现JavaBeans到XML的相互转换?用digester好像只能实现xml到javabean的转化啊
- 想创建一个J2EE的框架,请有经验的朋友给点提示
- 求助---关于转义符号:怎样把换行转义符放入HASH表中,取出时能被JSP认识?
- java程序如何通过socket程序传送文件和数据?
- 改行学java,请教
- 使用什么服务器就决定用什么JPA持久提供者?
- this.getHibernateTemplate().find(hql);方法调用不到是怎么回事啊
在Servlet中这样使用:DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload diskFileUpload = new ServletFileUpload(factory);// 定义一个HashMap,存放请求参数
Map<String, String> parameters = new HashMap<String, String>();
// 得到所有的文件,以及其它请求参数:
List<?> fileItems = diskFileUpload.parseRequest(request);
Iterator<?> i = fileItems.iterator();// 依次处理每一个文件,以及请求参数:
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
// 如果是文件,进行上传操作
if (!fi.isFormField()) {
......
}else{
// 如果是请求参数
String name = fi.getFieldName();
String value = fi.getString();
......
}
}
这是我写的方法
public String doUpload(ServletConfig servletConfig,HttpServletRequest request,
HttpServletResponse response) {
try {
// 创建SmartUpload对象
SmartUpload mySmartUpload = new SmartUpload();
// 初始化对象 pageContext:
mySmartUpload.initialize(servletConfig, request, response);
mySmartUpload.setMaxFileSize(500000000); // 以KB为单位
// 允许文件的类型
mySmartUpload
.setAllowedFilesList("jpg,txt,gif,jar,rar,java,class,jsp,mp3");
// 限文件的类型
mySmartUpload.setDeniedFilesList("exe");
// 开始上传……
mySmartUpload.upload();
// 获取文件对象
File myFile = mySmartUpload.getFiles().getFile(0);
// 如果文件存在
if (!myFile.isMissing()) {
// 获取文件名的后缀类型
String extname = myFile.getFileExt();
String fileName = new Date().getTime() + "." + extname; // 产生一个文件名
// 将文件保存在image夹子里
myFile.saveAs("face/" + fileName, mySmartUpload.SAVE_VIRTUAL);
//返回存放数据库的文件名
return fileName;
} else {
System.out.println("上传有误!!!!!!!");
return null;
} } catch (Exception ex) { ex.printStackTrace();
return null; }