在使用dwz 想做一个图片上传的功能,因为dwz已经集成了uploadify
所以直接上网找了了uploadify的demo
如下配置:
<inputid="uploadImage"name="uploadImage"type="file"/>
然后利用js初始化一下<scripttype="text/javascript">
$('#uploadImage').uploadify({
'swf': 'uploadify/scripts/uploadify.swf', //FLash文件路径
'buttonText': '浏 览',
'width': 40, // 按钮的宽度
'height': 15, //按钮文本
'uploader': '/loves/image/upload', //处理文件上传Action
'queueID': 'lawyerCasefileQueue', //队列的ID
'queueSizeLimit': 999, //队列最多可上传文件数量,默认为999
'auto': true, //选择文件后是否自动上传,默认为true
'multi': false, //是否为多选,默认为true
'removeCompleted': true, //是否完成后移除序列,默认为true
'fileSizeLimit': '0MB',
'fileTypeDesc': "Image Files", //Files 标识可以上传任意文件
'fileTypeExts': '*.jpg;*.png;*.gif;*.jpeg;', //允许上传的文件类型,限制弹出文件选择框里能选择的文件
'onQueueComplete': function (event, data) { //所有队列完成 后事件
},
'onUploadStart': function (file) {
},
'onUploadError': function (event, queueId, fileObj, errorObj) {
},
'onUploadSuccess': function (file, data, respone) {
}
});
</script>
然后在springmvc controller中使用
@Controller
@RequestMapping("image")
public class ImageController {
@RequestMapping("upload")
public void upload(@RequestParam(value="uploadImage") MultipartFileuploadImage){
}
}
来接收上传的文件,当然 在xml中已配置
<beanid="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- maxUploadSize:文件上传的最大值以byte为单位 -->
<propertyname="maxUploadSize"value="1024000"></property>
</bean>
但是一直无法debug进入,查看浏览器控制台,报了个400错误。
HTTP Status 400 - Required MultipartFile parameter 'uploadImage' is not present
意思就是说 我的参数名称没有和我配置的对应上。
搞了半天尼玛,uploadImage还是null。
没办法,还是通过浏览器查看下,到底传过来了什么参数
搞了半天 你的 name 竟然是“Filedata”, 太坑了。 默认你也应该取name呀。
哎~~~
所以
解决办法:
把controller中的@RequestParam(value="uploadImage")改为@RequestParam(value="Filedata")
然后就不为null 拉