一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java中MultipartFile互轉(zhuǎn)File的方法

java中MultipartFile互轉(zhuǎn)File的方法

2022-02-28 00:35巴黎沒(méi)有歐萊雅你也不值 Java教程

本文主要介紹了java中MultipartFile互轉(zhuǎn)File的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

MultipartFile轉(zhuǎn)File

公司業(yè)務(wù)遇到需要接收前臺(tái)提交過(guò)來(lái)的圖片或文件(multipart/form-data)類(lèi)型的(ps:不知道有沒(méi)有拼錯(cuò)嘻嘻)

后臺(tái)接收的需要轉(zhuǎn)換為一個(gè)File類(lèi)型的

那么這里涉及到了類(lèi)型轉(zhuǎn)換的問(wèn)題:

先列下我的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@PostMapping("upload")
    @ResponseBody
    public void upload(HttpServletResponse response,MultipartFile file)throws IOException{
        //MultipartFile file = ((MultipartHttpServletRequest) request).getFile("file");
        PrintWriter writer = response.getWriter();
        File f = null;
        if(file.equals("")||file.getSize()<=0){
            file = null;
        }else{
            InputStream ins = file.getInputStream();
            f=new File(file.getOriginalFilename());
            FileUtil.inputStreamToFile(ins, f);
        }
 
        JSONObject jsonObject= weChatMaterialService.getMediaId("image",f);
        writer.print(jsonObject);
        writer.flush();
        writer.close();
 
        File del = new File(f.toURI());
        del.delete();
        System.out.println(jsonObject);
 
    }

現(xiàn)在來(lái)剖析下:就是判斷下我接收的文件是不是空的,如果不是空的就將它轉(zhuǎn)換成為流的形式

后面那個(gè)FileUtil就是將流轉(zhuǎn)換成File,最后一步就是因?yàn)檫@樣做法會(huì)在項(xiàng)目的根目錄下(好像是根目錄,我也不確定,也是現(xiàn)學(xué)現(xiàn)用的嘻嘻)生成一個(gè) 文件,這個(gè)是我們不需要的對(duì)嘛,然后將其刪除就行啦

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
File f = null;
        if(file.equals("")||file.getSize()<=0){
            file = null;
        }else{
            InputStream ins = file.getInputStream();
            f=new File(file.getOriginalFilename());
            FileUtil.inputStreamToFile(ins, f);
        }
 
public class FileUtil {
    public static void inputStreamToFile(InputStream ins, File file) {
        try {
            OutputStream os = new FileOutputStream(file);
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            ins.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
}
 File del = new File(f.toURI());
        del.delete();

File轉(zhuǎn)MultipartFile

添加依賴

?
1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/org.springframework/spring-mock -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-mock</artifactId>
    <version>2.0.8</version>
</dependency>

代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
  * @param
  * @return
  * @author:liuyu
  * @創(chuàng)建日期:2020年3月5日
  * @功能說(shuō)明:File轉(zhuǎn)MultipartFile
  */
 private static MultipartFile fileToMultipartFile(File file) throws Exception {
  InputStream inputStream = new FileInputStream(file);
  MultipartFile multipartFile = new MockMultipartFile(file.getName(), inputStream);
  return multipartFile;
 
 }

 PS:file轉(zhuǎn)base64字符串

①  java之文件轉(zhuǎn)為base64字符

?
1
2
3
4
5
6
FileInputStream inputFile = new FileInputStream(f);
String base 64=null;
 byte[] buffer = new byte[(int) f.length()];
 inputFile.read(buffer);
 inputFile.close();
 base64=new BASE64Encoder().encode(buffer);

②注意:java中在使用BASE64Enconder().encode(buffer)會(huì)出現(xiàn)字符串換行問(wèn)題,這是因?yàn)镽FC 822中規(guī)定,每72個(gè)字符中加一個(gè)換行符號(hào),這樣會(huì)造成在使用base64字符串時(shí)出現(xiàn)問(wèn)題,所以我們?cè)谑褂脮r(shí)要先解決換行的問(wèn)題

?
1
String encoded = base64.replaceAll("[\\s*\t\n\r]", "");

到此這篇關(guān)于java中MultipartFile互轉(zhuǎn)File的方法的文章就介紹到這了,更多相關(guān)java MultipartFile互轉(zhuǎn)File內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/lp15203883326/article/details/82879973

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 45分钟做受片免费观看 | a级特黄毛片免费观看 | 九九九九在线视频播放 | 初尝黑人巨大h文 | 91小视频在线观看免费版高清 | 精品国产自在天天线2019 | 欧美成人一区二区 | 日韩成人免费 | 四虎成人免费视频 | 69日本xxxxxxxxx98 69人成网站色www | 国产高清不卡视频在线播放 | 俄罗斯三级在线观看级 | 99热精品在线观看 | 欧美视频免费 | 校花被拖到野外伦小说 | 欧美日韩看看2015永久免费 | 思思99热久久精品在2019线 | 久久视频这有精品63在线国产 | 国产国语在线播放视频 | 国产一二三区视频 | chinese男男gayxxx chinese老头和老太交hd | 亚洲一级视频在线观看 | 日韩成a人片在线观看日本 日韩不卡一区二区 | 拍拍叫痛的无挡视频免费 | 99热6这里只有精品 99欧美精品 | 晓雪老师我要进你里面好爽 | 国产精品资源站 | 福利视频导航大全 | 国产特级 | 婷婷伊人综合亚洲综合网 | kuaibo成人播放器 | 亚洲欧美日韩一区成人 | 全日本爽视频在线 | 国产日产精品久久久久快鸭 | 高清国语自产拍免费视频国产 | 236zz宅宅最新伦理 | 国产高清好大好夹受不了了 | 欧美又黄又激烈真实床戏 | 国产成人精品曰本亚洲78 | 欧美va在线高清 | 亚洲一区二区三区久久精品 |