相关文章推荐
慷慨大方的绿茶  ·  How to create ...·  12 月前    · 
要出家的移动电源  ·  单元测试(mock) ...·  1 年前    · 
稳重的胡萝卜  ·  flex布局中 ...·  1 年前    · 

头疼,不废话直接上代码

<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>

1,网络图片转InputStream

InputStream inputStream = getImageStream("http://192.168.111.111:2333/pic?xxxxxxxx");
     * 获取网络图片流
     * @param url
     * @return
    public static InputStream getImageStream(String url) {
        try {
            HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
            connection.setReadTimeout(5000);
            connection.setConnectTimeout(5000);
            connection.setRequestMethod("GET");
            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                InputStream inputStream = connection.getInputStream();
                return inputStream;
        } catch (IOException e) {
            System.out.println("获取网络图片出现异常,图片路径为:" + url);
            e.printStackTrace();
        return null;

2,InputStream转MultipartFile

1)MockMultipartFile

MultipartFile multipartFile = new MockMultipartFile("xxxx.jpg","xxxx.jpg", MediaType.MULTIPART_FORM_DATA_VALUE, inputStream);

2) CommonsMultipartFile

public void testOSSServiceImport(){
    File file = new File("xxxx.jpg");
    DiskFileItem fileItem = (DiskFileItem) new DiskFileItemFactory().createItem("file",
            MediaType.ALL_VALUE, true, file.getName());
    try (InputStream input = new FileInputStream(file); OutputStream os = fileItem.getOutputStream()) {
        IOUtils.copy(input, os);
    } catch (Exception e) {
        throw new IllegalArgumentException("Invalid file: " + e, e);
    MultipartFile multi = new CommonsMultipartFile(fileItem);