在表单中 怎样不上传图片或文件 同时用能提交表单的其他数据,,,案例中好像都是必须上传 求大神解惑 怎么不必须上传文件或图片,,,
我用的是SmartUpload组件,在表单中非得加上 ENCTYPE="multipart/form-data" 属性
不加图片上传不了,加了,其它数据有获取不到,所以,有大虾能帮忙解决一下
------解决方案--------------------------------------------------------可以引用commons-fileupload包
在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();
......}}------解决方案--------------------------------------------------------可以提交表单的啊~这个不影响~你得不到表单信息仔细看看是不是哪里错了
不加图片上传不了,加了,其它数据有获取不到,所以,有大虾能帮忙解决一下
------解决方案--------------------------------------------------------可以引用commons-fileupload包
在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();
......}}------解决方案--------------------------------------------------------可以提交表单的啊~这个不影响~你得不到表单信息仔细看看是不是哪里错了
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-03-21
在你方法中加一个判断
if($_POST['image']){
//执行文件上传方法
import('ORG.Net.Uploads');
}
if($_POST['image']){
//执行文件上传方法
import('ORG.Net.Uploads');
}
第2个回答 推荐于2017-07-17
这个跟ThinkPHP没啥关系吧,要看form的设置。
如果要上传文件,需要给form加上 enctype="multipart/form-data" 属性,不上传文件则不需要加这个属性本回答被网友采纳
如果要上传文件,需要给form加上 enctype="multipart/form-data" 属性,不上传文件则不需要加这个属性本回答被网友采纳