IO流保存上传图片

Posted 南国的刘新

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流保存上传图片相关的知识,希望对你有一定的参考价值。

@RequestMapping(value = "filesUpload")
    public void filesUpload(@RequestParam MultipartFile[] file,
            HttpServletRequest request,
            @RequestParam String name,@RequestParam Integer size,@RequestParam String type,
            @RequestParam String flagCode, String skuId
            ) throws IOException {
        /*if(Common.notEmpty(skuId)){
            getImgInfo(flagCode, skuId,"MALL_"+flagCode+""+skuId);
        }*/
        List<String> list = new ArrayList<String>();
        if (file != null && file.length > 0) {
            for (int i = 0; i < file.length; i++) {
                MultipartFile files = file[i];
                // 保存文件
                list = saveFile(request, files, list,name, size, type,flagCode,skuId);
            }
        }
    }

    

    private List<String> saveFile(HttpServletRequest request,
            MultipartFile file, List<String> list,String fileName,Integer fileSize,String fileType,String flagCode,String skuId) throws IOException {
        // 判断文件是否为空
        if (!file.isEmpty()) {
            try {
                // 保存的文件路径(如果用的是Tomcat服务器,文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\文件夹中
                 String uuid = Common.get32UUID();
                 String uploadPath=PropertiesUtil.get("/module.properties", "mall.uploadPath");
                 String fileNmae = file.getOriginalFilename();
                 String nameType = fileNmae.substring(fileName.lastIndexOf(".")+1);
                 String attPath =uuid+"."+nameType;
                 //saveMallAttachment(uuid,fileName, fileSize, fileType, attPath,flagCode,skuId);
                 String filePath = uploadPath.replaceAll("/","\\\\") + attPath;
                 list.add(file.getOriginalFilename());
                File saveDir = new File(filePath);
                if (!saveDir.getParentFile().exists())
                    saveDir.getParentFile().mkdirs();
                // 转存文件
//                file.transferTo(saveDir);
                FileCopyUtils.copy(file.getInputStream(), new FileOutputStream(saveDir));
                return list;
            } catch (Exception e) {
                e.printStackTrace();
            }

        }
        return list;
    }

 

以上是关于IO流保存上传图片的主要内容,如果未能解决你的问题,请参考以下文章

java内存流:java.io.ByteArrayInputStreamjava.io.ByteArrayOutputStreamjava.io.CharArrayReaderjava.io(代码片段

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段

.net上传图片并转成二进制流

C#winform 中上传图片保存到数据库中?

IO流

mapboxGL之风流图