最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java后端接收MultipartFile類型文件接口問題(帶參與不帶參)

 更新時間:2026年05月26日 09:16:10   作者:Tatsumi_zyy  
文章主要討論了后端處理文件上傳的方法,強調(diào)接收文件和參數(shù)的多種方式,并user文章主要討論了后端處理文件上傳的方法,強調(diào)接收文件和參數(shù)的多種方式,并提供了具體的代碼實現(xiàn)示例,個人經(jīng)驗總結:后端文件上傳處理,接收文件和參數(shù)的多種方式解析與代碼實現(xiàn)

從后端接收前端的文件(不帶參數(shù))

public interface TestService {
  String uploadFileTest(MultipartFile zipFile);
}

---------------------------------------------------------------------
@Service
public class TestServiceImpl implements TestService {

    private static final Logger logger = LoggerFactory.getLogger(TestServiceImpl.class);

    @Override
    public String uploadFileTest(MultipartFile zipFile) {
        // 文件保存路徑
        String targetFilePath = "D:\\360_js";
        
        // 獲取上傳文件的文件名
        String fileName = zipFile.getOriginalFilename();
        
        // 真正地進行文件保存
        File targetFile = new File(targetFilePath + File.separator + fileName);

        // 以下為日志 可要可不要,如果文件保存失敗,1.檢查路徑是否正確 2.是否已經(jīng)存在該文件 3.可能需要拋出IOException
        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream = new FileOutputStream(targetFile);
            IOUtils.copy(zipFile.getInputStream(), fileOutputStream);
            // 日志
            logger.info("------>>>>>>uploaded a file successfully!<<<<<<------");
        } catch (IOException e) {
            e.printStackTrace();
            return "IO異常";
        } finally {
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                logger.error("", e);
            }
        }
        return "success";
    }
}

-----------------------------------------------------------------
    @Autowired
    private TestService testService;
    
    @PostMapping("/upload")
    public String uploadFileTest(@RequestParam("uploadFile") MultipartFile zipFile) {
        return testService.uploadFileTest(zipFile);
    }

后端接收文件 以及接收多個參數(shù)

將文件定義成一個類的屬性,將參數(shù)也定義成類的屬性,如此 接收參數(shù) 和文件

實體類 entity   FileSaveReqVO.java

    @ApiModelProperty(value = "上傳的文件", required = true)
    @NotNull(message = "上傳文件不能為空")
    private MultipartFile file;

    @ApiModelProperty(value = "文件名稱",hidden = true)
    private String Name;

    @ApiModelProperty(value = "文件地址", hidden = true)
    private String Url;
    ---------------------------------------------------------
接口 interface 
   void save(FileSaveReqVO reqVO);


impl層
@Service
public class KettleTransFileServiceImpl implements IKettleTransFileService {
    
    // 文件保存路徑
    private String path = "D:\\360_js";

    // mapper層控制文件名稱,文件地址保存在數(shù)據(jù)庫
    @Autowired
    private FileMapper fileMapper;

    @Override
    public void save(FileSaveReqVO reqVO) {

        try {
            // 獲取上傳文件名稱
            String fileName = reqVO.getFile().getOriginalFilename();
           
           // 真正地進行文件保存
            File destFile = new File(kettleHomePath + File.separator + fileName);
            reqVO.getFile().transferTo(destFile);
            
            } catch (IOException e) {
            throw WinExceptionUtil.winException(SchExceptionEnum.SAVE_KETTLE_FILE_ERROR, reqVO.getName());
        }

            // 將文件名稱和地址保存在reqVO 便于保存到數(shù)據(jù)庫
            reqVO.setName(fileName);
            reqVO.setUrl(path+ fileName);
            
            fileMapper.save(reqVO);
    }
}

controller層

    @PostMapping("/save")
    public String save(FileSaveReqVO reqVO) {
        fileService.save(reqVO);
        return "添加成功";
    }

使用postman測試時,記得將類型改成multipart/form-data 文件參數(shù)file 需要其他參數(shù)可以自行設計

當然我們大多數(shù)是不將上傳的文件封裝在類里面,而是另起一個實體,一個文件 接口

只是接收的時候接收參數(shù) 和文件 ,例如:

public void updateFile(Entity entity, MultipartFize file) {
  ......
}

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot如何讀取配置文件參數(shù)并全局使用

    SpringBoot如何讀取配置文件參數(shù)并全局使用

    這篇文章主要介紹了SpringBoot如何讀取配置文件參數(shù)并全局使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Java?Spring的使用注解開發(fā)詳解

    Java?Spring的使用注解開發(fā)詳解

    這篇文章主要為大家介紹了Java?Spring注解開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 深入探究Spring IOC和DI的區(qū)別

    深入探究Spring IOC和DI的區(qū)別

    很多人都會把ioc和di說成同一個東西,其實IOC和DI雖然在概念上可以籠統(tǒng)地視為同一事物,但其本質(zhì)上存在區(qū)別,因此,我們希望能夠更加嚴謹?shù)貐^(qū)分這兩個概念,以更好地理解和應用它們,需要的朋友可以參考閱讀本文
    2023-10-10
  • Spring中的@ConfigurationProperties在方法上的使用詳解

    Spring中的@ConfigurationProperties在方法上的使用詳解

    這篇文章主要介紹了Spring中的@ConfigurationProperties在方法上的使用詳解,@ConfigurationProperties應該經(jīng)常被使用到,作用在類上的時候,將該類的屬性取值?與配置文件綁定,并生成配置bean對象,放入spring容器中,提供給其他地方使用,需要的朋友可以參考下
    2024-01-01
  • java環(huán)境變量配置超詳細圖文教程

    java環(huán)境變量配置超詳細圖文教程

    在我們學習Java語言的時候,要在命令提示符里運用Java和Javac,用到這兩個命令的時候就要配置Java環(huán)節(jié)變量才可以,這篇文章主要給大家介紹了關于java環(huán)境變量配置的相關資料,需要的朋友可以參考下
    2023-10-10
  • Java?虛擬機內(nèi)存模型深入分析

    Java?虛擬機內(nèi)存模型深入分析

    本文將詳細講解JVM內(nèi)存模型中的幾個重要部分,主要圍繞程序計數(shù)器、方法區(qū)、常量池等內(nèi)容進行深入分析,幫助讀者理解JVM內(nèi)存如何分配、管理和回收,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別

    Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別

    很多朋友對java中的notyfy()和notifyAll()的本質(zhì)區(qū)別不了解,今天小編抽空給大家整理一篇教程關于Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別,需要的朋友參考下吧
    2017-02-02
  • Eclipse中配置Maven build打包的方法步驟

    Eclipse中配置Maven build打包的方法步驟

    這篇文章主要介紹了Eclipse中配置Maven build打包的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • java 基礎之JavaBean屬性命名規(guī)范問題

    java 基礎之JavaBean屬性命名規(guī)范問題

    這篇文章主要介紹了java 基礎之JavaBean屬性命名規(guī)范問題的相關資料,需要的朋友可以參考下
    2017-05-05
  • JavaSwing實現(xiàn)小型學生管理系統(tǒng)

    JavaSwing實現(xiàn)小型學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了JavaSwing實現(xiàn)小型學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論

沈阳市| 武功县| 潜山县| 会东县| 永城市| 连平县| 阳原县| 蓬莱市| 丹棱县| 卢龙县| 社旗县| 阿坝县| 赤峰市| 新余市| 扶风县| 华池县| 闵行区| 炎陵县| 松潘县| 宁南县| 岑溪市| 枝江市| 云霄县| 静乐县| 岫岩| 河北区| 博客| 长子县| 文化| 双柏县| 内丘县| 陇川县| 伊川县| 东阿县| 综艺| 广水市| 固阳县| 太白县| 汝南县| 康保县| 佳木斯市|