zoukankan      html  css  js  c++  java
  • CommonsMultipartFile 转为 File 类型

    1、我们可以查看CommonsMultipartFile的源码发现有这样一个方法

    @Override
        public InputStream getInputStream() throws IOException {
            if (!isAvailable()) {
                throw new IllegalStateException("File has been moved - cannot be read again");
            }
            InputStream inputStream = this.fileItem.getInputStream();
            return (inputStream != null ? inputStream : StreamUtils.emptyInput());
        }

    2、我们创建CommonsMultipartFile 对象

    CommonsMultipartFile shopImg = null; //注意啊,这里你要传的CommonsMultipartFile 参数自己通过commfile去接收就行

    3、调用转化方法


    inputStreamToFile(commfile.getInputStream(), file); //getInputStream是CommonsMultipartFile的方法(文件转化)

    4、我们创建转化方法

    private static void inputStreamToFile(InputStream ins,File file) {
            FileOutputStream os = null;
            try {
                os = new FileOutputStream(file);
                int bytesRead = 0;
                byte[] buffer = new byte[1024];
                while ((bytesRead = ins.read(buffer)) != -1) {
                    os.write(buffer, 0, bytesRead);
                }
            } catch (Exception e) {
                throw new RuntimeException("调用inputStreamToFile异常" +e.getMessage());
            }finally {
                try {
                    if (os != null) {
                        os.close();
                    }
                    if (ins != null) {
                        ins.close();
                    }
                } catch (Exception e) {
                    throw new RuntimeException("调用inputStreamToFile异常" +e.getMessage());
                }
            }
        }
  • 相关阅读:
    典型用户及场景分析
    使用搜狗输入法个人感受
    第二期站立会议10
    寻找“水王”
    第二期站立会议9
    第二期站立会议8
    第二期站立会议7
    第二期站立会议6
    第二期站立会议5
    第二期站立会议4
  • 原文地址:https://www.cnblogs.com/karrya/p/11015141.html
Copyright © 2011-2022 走看看