fichier de démarrage Spring téléchargement et le transfert de fichiers

télécharger des fichiers de démarrage de printemps et le transfert de fichiers
processus de développement ne doivent pas être séparés du fichier télécharger ce hors de celui - ci
   tels que: la messagerie instantanée et une variété de sites de réseautage social, ah, à faire attention à leur peuple, et de mieux se présenter à d' autres, avatar télécharger, les systèmes financiers pensent les gens pensent de Excel Excel financière toute la journée et le traitement des données Excel batch de téléchargement
afin démarrage ressort à l' intérieur comment atteindre fichier télécharger? Et si vous faites juste un point de transit pour le téléchargement de fichiers et le serveur cible est dans un autre endroit?

paquet nouvellement introduit

[XML]  vue texte brut  Copiez le code

?

01

02

03

04

05

06

07

08

09

dix

11

12

13

14

15

16

17

18

<dependency>

            <groupId>org.apache.httpcomponents</groupId>

            <artifactId>httpmime</artifactId>

            <version>4.5.10</version>

        </dependency>

        <dependency>

            <groupId>org.apache.httpcomponents</groupId>

            <artifactId>httpclient</artifactId>

            <version>4.5.10</version>

        </dependency>

  

        <!-- [url]https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient[/url] -->

  

        <dependency>

            <groupId>commons-fileupload</groupId>

            <artifactId>commons-fileupload</artifactId>

            <version>1.3.1</version>

        </dependency>


classes utilitaires de transfert de fichiers

[Java]  vue texte brut  Copiez le code

?

01

02

03

04

05

06

07

08

09

dix

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

package com.example.demo.util;

  

import java.io.IOException;

import java.nio.charset.Charset;

  

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.ContentType;

import org.apache.http.entity.mime.MultipartEntityBuilder;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;

import org.springframework.web.multipart.MultipartFile;

  

  

public class HttpClientUtil {

  

    public static String httpClientUploadFile(String url,MultipartFile file) {

//        String remote_url = url;// 第三方服务器请求地址

        CloseableHttpClient httpClient = HttpClients.createDefault();

        String result = "";

        try {

            String fileName = file.getOriginalFilename();

            HttpPost httpPost = new HttpPost(url);

            MultipartEntityBuilder builder = MultipartEntityBuilder.create();

            builder.addBinaryBody("file", file.getInputStream(), ContentType.MULTIPART_FORM_DATA, fileName);// 文件流

            builder.addTextBody("type", "2");// 类似浏览器表单提交,对应input的name和value

            HttpEntity entity = builder.build();

            httpPost.setEntity(entity);

            HttpResponse response = httpClient.execute(httpPost);// 执行提交

            HttpEntity responseEntity = response.getEntity();

            if (responseEntity != null) {

                // 将响应内容转换为字符串

                result = EntityUtils.toString(responseEntity, Charset.forName("UTF-8"));

            }

        } catch (IOException e) {

            e.printStackTrace();

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            try {

                httpClient.close();

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

        return result;

    }

}

 

[Java]  vue texte brut  Copiez le code

?

01

02

03

04

05

06

07

08

09

dix

11

12

13

14

15

16

17

18

package com.example.demo.config;

  

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.multipart.commons.CommonsMultipartResolver;

  

@Configuration

public class ConfigBean {

  

    @Bean

    public CommonsMultipartResolver multipartResolver(){

        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();

        multipartResolver.setDefaultEncoding("UTF-8");

        multipartResolver.setMaxUploadSize(104857600);

        multipartResolver.setMaxInMemorySize(40960);

        return multipartResolver;

    }

}

 

[Java]  vue texte brut  Copiez le code

?

01

02

03

04

05

06

07

08

09

dix

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

@RequestMapping(value = "/uploadFile/upload", method = RequestMethod.POST)

    @ResponseBody

    public String upload(@RequestParam(value = "file") MultipartFile file) {

        if (file.isEmpty()) {

            return "上传失败,请选择文件";

        }

        String filename = UUID.randomUUID().toString();

        String suffix = "";

        String originalFilename = file.getOriginalFilename();

        // 截取文件的后缀名

        if (originalFilename.contains(".")) {

            suffix = originalFilename.substring(originalFilename.lastIndexOf("."));

        }

        String fileName = filename + suffix;

        String filePath = "D:\\A\\B\\D\\";

        File dest = new File(filePath + fileName);

        try {

            file.transferTo(dest);

            return "上传成功";

        } catch (IOException e) {

        }

        return "上传失败!";

    }

  

    @RequestMapping(value = "/uploadFile/uploadPermanent", method = RequestMethod.POST)

    @ResponseBody

    public String uploadPermanent(@RequestParam(value = "file") MultipartFile file) {

        String url = "http://192.168.1.56:9090";

        String ss= HttpClientUtil.httpClientUploadFile(url+"/uploadFile/upload",file);

        return ss;

    }




La figure il montre le téléchargement de fichiers a été bon 


ici, entouré deux fois, la méthode de transit est une méthode pour la cible, bien sûr, il y a un transit et les serveurs de destination à écrire ensemble, mais la scène est de répondre aux conditions de transit
Bien sûr , il y a plusieurs façons de nous aider à faire ces

peuvent être concernés plus du matériel d'apprentissage java sur: itheimaGZ get

Publié 731 articles originaux · louange gagné 3 · Vues 110000 +

Je suppose que tu aimes

Origine blog.csdn.net/u010395024/article/details/104813687
conseillé
Classement