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

SpringBoot+ruoyi框架文件上傳和下載的實(shí)現(xiàn)

 更新時(shí)間:2023年09月22日 16:20:46   作者:小小碼農(nóng)>>>>  
文件的上傳和下載功能,是項(xiàng)目開(kāi)發(fā)過(guò)程中比較常見(jiàn)的業(yè)務(wù)需求,本文主要介紹了SpringBoot+ruoyi框架文件上傳和文件下載的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

第一次接觸ruoyi框架,碰到文件上傳和下載問(wèn)題,今天來(lái)總結(jié)一下。使用若依框架文件上傳下載首先配置文件路徑要配好。

文件下載:

application.yml若依配置

# 項(xiàng)目相關(guān)配置
ruoyi:
  # 名稱(chēng)
  name: RuoYi
  # 版本
  version: 3.6.0
  # 版權(quán)年份
  copyrightYear: 2021
  # 實(shí)例演示開(kāi)關(guān)
  demoEnabled: true
  # 文件路徑 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
 # profile: /home/admin2409/fn/uploadPath
  profile: D:/.code/uploadPath
  # 獲取ip地址開(kāi)關(guān)
  addressEnabled: false
  # 驗(yàn)證碼類(lèi)型 math 數(shù)組計(jì)算 char 字符驗(yàn)證
  captchaType: math

首先是文件下載,在若依框架下載上傳文件工具已經(jīng)寫(xiě)好了頁(yè)面:

前端方法:`

// 通用下載方法
export function download(fileName) {
	window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true;
}

后端通用方法:

單獨(dú)寫(xiě)一個(gè)下載啊文件的請(qǐng)求
@GetMapping("/downloadTemplate")
    public AjaxResult importTemplate() throws IOException {
        return AjaxResult.success("hnxTemplate.xlsx");
    }
/**
     * 通用下載請(qǐng)求
     *
     * @param fileName 文件名稱(chēng)
     * @param delete   是否刪除
     */
    @GetMapping("common/download")
    public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) {
        try {
            if (!FileUtils.checkAllowDownload(fileName)) {
                throw new Exception(StringUtils.format("文件名稱(chēng)({})非法,不允許下載。 " , fileName));
            }
            String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
            String filePath = RuoYiConfig.getDownloadPath() + fileName; //注意這里的路徑要和你下載的路徑對(duì)應(yīng)
            response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
            FileUtils.setAttachmentResponseHeader(response, realFileName);
            FileUtils.writeBytes(filePath, response.getOutputStream());
            if (delete) {
                FileUtils.deleteFile(filePath);
            }
        } catch (Exception e) {
            log.error("下載文件失敗" , e);
        }
    }

RuoYiConfig.getDownloadPath()如果和你的路徑不一樣,改成一樣的

 /**
     * 獲取下載路徑
     */
    public static String getDownloadPath() {
        return getProfile() + "/download/";
    }

這樣就文件就可以下載了

文件上傳:

application.yml同樣的路徑配置不變頁(yè)面:

前端代碼:

<el-form-item label="場(chǎng)景圖片:" prop="sceneImgurl">
          <el-upload
            action=""
            ref="uploadImport"
            :http-request="httpRequest"
            list-type="picture-card"
            :limit="1"
            :file-list="fileList"
            accept=".jpg, .jpeg, .png, .gif"
            :auto-upload="false"
            :before-remove="removeImg"
            >
            <i class="el-icon-plus"></i>
          </el-upload>
        </el-form-item>
 httpRequest(param) {
      let params = new FormData();
      params.append('avatarfile', param.file); // 傳文件
      uploadPlanImg(params).then(res => {
          if(res.code!==200) return
          this.form.sceneImgurl = res.imgUrl
        });	
    },

后端上傳代碼

 httpRequest(param) {
      let params = new FormData();
      params.append('avatarfile', param.file); // 傳文件
      uploadPlanImg(params).then(res => {
          if(res.code!==200) return
          this.form.sceneImgurl = res.imgUrl
        });	
    },

String url= RuoYiConfig.getUploadPath();//配置自己的路徑

    /**
     * 獲取上傳路徑
     */
    public static String getUploadPath() {
        return getProfile() + "/upload";
    }

上傳成功:

到此這篇關(guān)于SpringBoot+ruoyi框架圖片上傳和文件下載的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot ruoy圖片上傳和下載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Java如何利用線(xiàn)程池和Redis實(shí)現(xiàn)高效數(shù)據(jù)入庫(kù)

    Java如何利用線(xiàn)程池和Redis實(shí)現(xiàn)高效數(shù)據(jù)入庫(kù)

    文章介紹了如何利用線(xiàn)程池和Redis在高并發(fā)環(huán)境中實(shí)現(xiàn)高效的數(shù)據(jù)入庫(kù),通過(guò)將數(shù)據(jù)首先存儲(chǔ)在Redis緩存中,然后利用線(xiàn)程池定期批量入庫(kù)處理,確保系統(tǒng)的性能和穩(wěn)定性,主要組件包括BatchDataStorageService、CacheService和RedisUtils等
    2025-02-02
  • SpringBoot+Flying Saucer+Thymeleaf實(shí)現(xiàn)PDF生成的完整指南

    SpringBoot+Flying Saucer+Thymeleaf實(shí)現(xiàn)PDF生成的完整指南

    在實(shí)際開(kāi)發(fā)中,PDF生成是常見(jiàn)需求,本文將詳細(xì)講解如何基于 Spring Boot + Flying Saucer + Thymeleaf 實(shí)現(xiàn) PDF 生成,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-01-01
  • java自己手動(dòng)控制kafka的offset操作

    java自己手動(dòng)控制kafka的offset操作

    這篇文章主要介紹了java自己手動(dòng)控制kafka的offset操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • SpringBoot整合ZXing實(shí)現(xiàn)二維碼和條形碼的創(chuàng)建

    SpringBoot整合ZXing實(shí)現(xiàn)二維碼和條形碼的創(chuàng)建

    如今我們?cè)絹?lái)越多的東西需要用到二維碼或者條形碼,商品的條形碼,付款的二維碼等等,所以本文小編給大家介紹了SpringBoot整合ZXing實(shí)現(xiàn)二維碼和條形碼的創(chuàng)建,文章通過(guò)代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 深入理解java1.8之supplier

    深入理解java1.8之supplier

    這篇文章主要介紹了深入理解java1.8之supplier,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java中的原子類(lèi)詳解

    Java中的原子類(lèi)詳解

    這篇文章主要介紹了Java中的原子類(lèi)詳解,Java原子類(lèi)是一種多線(xiàn)程編程中常用的工具,用于實(shí)現(xiàn)線(xiàn)程安全的操作,它們提供了一種原子性操作的機(jī)制,確保多個(gè)線(xiàn)程同時(shí)訪(fǎng)問(wèn)共享變量時(shí)的數(shù)據(jù)一致性,需要的朋友可以參考下
    2023-10-10
  • 如何解決Nacos服務(wù)下線(xiàn)報(bào)錯(cuò)問(wèn)題

    如何解決Nacos服務(wù)下線(xiàn)報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了如何解決Nacos服務(wù)下線(xiàn)報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • SpringBoot中SpringSecurity安全框架的基本配置與使用方式

    SpringBoot中SpringSecurity安全框架的基本配置與使用方式

    Spring Security是Spring框架的安全性解決方案,提供了身份驗(yàn)證、授權(quán)、認(rèn)證流程安全控制等全面安全功能,廣泛應(yīng)用于Java應(yīng)用程序中
    2026-03-03
  • SpringBoot項(xiàng)目中JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理的使用詳解

    SpringBoot項(xiàng)目中JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理的使用詳解

    JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理都是SpringBoot中實(shí)現(xiàn)AOP的重要技術(shù),JDK動(dòng)態(tài)代理通過(guò)反射生成代理類(lèi),適用于目標(biāo)類(lèi)實(shí)現(xiàn)了接口的場(chǎng)景,性能較好,易用性高,但必須實(shí)現(xiàn)接口且不能代理final方法,CGLIB動(dòng)態(tài)代理通過(guò)生成子類(lèi)實(shí)現(xiàn)代理
    2025-03-03
  • 在lambda的foreach遍歷中break退出操作(lambda foreach break)

    在lambda的foreach遍歷中break退出操作(lambda foreach break)

    這篇文章主要介紹了在lambda的foreach遍歷中break退出操作(lambda foreach break),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09

最新評(píng)論

青神县| 碌曲县| 迁西县| 且末县| 高雄市| 安远县| 阿拉尔市| 舒兰市| 博乐市| 镇平县| 汽车| 越西县| 福海县| 突泉县| 容城县| 阆中市| 奉贤区| 东宁县| 漳州市| 尤溪县| 临泉县| 佛坪县| 新营市| 白水县| 洪雅县| 邵东县| 渑池县| 颍上县| 朝阳市| 霍城县| 柯坪县| 怀宁县| 区。| 泸州市| 图片| 武安市| 广灵县| 开鲁县| 施甸县| 集安市| 乐山市|