ITPub博客

首页 > > > 在spring mvc框架下,用uploadify插件上传文件

在spring mvc框架下,用uploadify插件上传文件

作者:dapan 时间:2019-09-10 16:35:44 0 删除 编辑

在spring mvc框架下,用uploadify插件上传文件,总是不成功,报500(internal server error)错误


<link rel="stylesheet" href="uploadify/uploadify.css"type="text/css">
 <script src="assets/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="uploadify/swfobject.js"></script>
<script type="text/javascript" src="uploadify/jquery.uploadify.js"></script>

$(document).ready(function(){
    $("#mediaID01").uploadify({
         'swf' : 'uploadify/uploadify.swf',
        'uploader' : '../WxController/saveMediaInServer',//后台处理的请求
        'cancelImg' : 'img/uploadify-cancel.png',
        'folder' : 'newWxQyServer/img/',//您想将文件保存到的路径
        'queueID' : 'fileQueue',//与下面的id对应
        'fileDesc' : 'Image Files (*.jpg;*.jpeg;*.gif;*.png)',
        'fileExt' : '*.jpg;*.jpeg;*.gif;*.png', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
        'auto' : false,
        'multi' : true,
        'simUploadLimit' : 2,
        'buttonText' : '选择图片',
        'buttonImg':'',
        'method':'post',

<div id="fileQueue"></div>
 <input type="file" name="uploadify" id="mediaID01" />
 <p>
<a href="javascript:jQuery('#mediaID01').uploadify('upload','*');">上传</a>
 </p>

后台代码:

@RequestMapping(value = "/saveMediaInServer")
    @ResponseBody
    public List<String> saveMediaInServer(HttpServletResponse response,HttpServletRequest request, @RequestParam(value = "formData", required = false) String formData){
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        List<String> responseStr= new ArrayList<String>();
        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();   
        // 创建文件夹  
        Map<String, Object> type = JSON.parseObject(formData, new TypeReference<Map<String, Object>>(){});
        Date now=new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        String filePath = "/upload/"+type.get("typeName")+"/"+dateFormat.format(now);
        String path=request.getSession().getServletContext().getRealPath(filePath);
        File file = new File(path);    
        if (!file.exists()) {    
            file.mkdirs();
        }
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {  
            // 上传文件   
            MultipartFile mf = entity.getValue();
            String filename=String.valueOf(System.currentTimeMillis()) + (int)(Math.random()*1000000);
            File uploadFile = new File(path + filename);
            try {  
                FileUtils.copyInputStreamToFile(multipartFile.getInputStream(),file);;  
                responseStr.add("上传成功");  
            } catch (IOException e) {  
                responseStr.add("上传失败");   
                e.printStackTrace();  
            }         
        }
        return responseStr;

 查看了好多遍代码,不知道哪儿出了问题,之前已经提问过一次,还是没有解决问题。高分跪求大神指导,感激不尽啊~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/758/viewspace-3135992/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-07

  • 博文量
    4504
  • 访问量
    87346