zoukankan      html  css  js  c++  java
  • InputStream转MultipartFile

    原文:https://blog.csdn.net/niugang0920/article/details/109337641

        //调用放
        MultipartFile multipartFile = getMultipartFile(inputStream, originalFilename);
    
     /**
         * 获取封装得MultipartFile
         *
         * @param inputStream inputStream
         * @param fileName    fileName
         * @return MultipartFile
         */
        public MultipartFile getMultipartFile(InputStream inputStream, String fileName) {
            FileItem fileItem = createFileItem(inputStream, fileName);
            //CommonsMultipartFile是feign对multipartFile的封装,但是要FileItem类对象
            return new CommonsMultipartFile(fileItem);
        }
    
    
        /**
         * FileItem类对象创建
         *
         * @param inputStream inputStream
         * @param fileName    fileName
         * @return FileItem
         */
        public FileItem createFileItem(InputStream inputStream, String fileName) {
            FileItemFactory factory = new DiskFileItemFactory(16, null);
            String textFieldName = "file";
            FileItem item = factory.createItem(textFieldName, MediaType.MULTIPART_FORM_DATA_VALUE, true, fileName);
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            OutputStream os = null;
            //使用输出流输出输入流的字节
            try {
                os = item.getOutputStream();
                while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
                    os.write(buffer, 0, bytesRead);
                }
                inputStream.close();
            } catch (IOException e) {
                log.error("Stream copy exception", e);
                throw new IllegalArgumentException("文件上传失败");
            } finally {
                if (os != null) {
                    try {
                        os.close();
                    } catch (IOException e) {
                        log.error("Stream close exception", e);
    
                    }
                }
                if (inputStream != null) {
                    try {
                        inputStream.close();
                    } catch (IOException e) {
                        log.error("Stream close exception", e);
                    }
                }
            }
    
            return item;
        }
  • 相关阅读:
    Android getResources的作用和需要注意点
    Android 中的Affinity
    关于Android下各个布局方式里面LayoutParams的用法
    kaifa xin
    imageVIew
    实验三 区域四连通填充算法
    实验四 二维几何变换
    OpenGL开发库的详细介绍zz
    附加实验2 OpenGL变换综合练习
    实验3 OpenGL几何变换
  • 原文地址:https://www.cnblogs.com/zagwk/p/15718447.html
Copyright © 2011-2022 走看看