国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springcloud:解決阿里云OSS文件訪問(wèn)跨域問(wèn)題

這篇具有很好參考價(jià)值的文章主要介紹了springcloud:解決阿里云OSS文件訪問(wèn)跨域問(wèn)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

引言

最近在高德地圖中引用阿里云OSS存儲(chǔ)的圖片時(shí),出現(xiàn)跨域訪問(wèn)問(wèn)題,特此記錄,以方便后續(xù)同學(xué)參考

解決

1、在阿里云OSS后臺(tái)管理中,進(jìn)入權(quán)限管理,進(jìn)入跨域設(shè)置,添加跨域規(guī)則,設(shè)置來(lái)源為*
oss跨域,BUG調(diào)試,技術(shù)分享,阿里云,緩存,云計(jì)算
圖片來(lái)源于https://blog.csdn.net/strugglerookie/article/details/119417281

2、至此配置完成后訪問(wèn)圖片還是會(huì)出現(xiàn)跨域問(wèn)題,這是因?yàn)镺SS文件默認(rèn)會(huì)開(kāi)啟緩存,及后續(xù)訪問(wèn)的實(shí)際上是緩存的文件,這就會(huì)導(dǎo)致不能匹配到我們上述配置的跨域規(guī)則

于是我們需要將緩存禁用掉,如果文件就一兩個(gè)的話,可以直接在后臺(tái)中設(shè)置禁用緩存,將HTTP頭中Cache-Control設(shè)置為no-cache
oss跨域,BUG調(diào)試,技術(shù)分享,阿里云,緩存,云計(jì)算

3、因?yàn)槟壳鞍⒗镌坪笈_(tái)只支持單個(gè)文件的HTTP頭設(shè)置,并不支持批量設(shè)置,所以到有多個(gè)文件或者后續(xù)上傳的文件都不需要緩存時(shí)就不能滿足了

那么我們?nèi)绾蝸?lái)實(shí)現(xiàn)這個(gè)批量禁用緩存的需求呢。答案就是在上傳文件到OSS的時(shí)候在請(qǐng)求頭中設(shè)置Cache-Controlno-cache

首先上傳阿里云OSS的接口是基于aliyun-sdk-oss依賴的

<dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
        </dependency>

其次我們觀察該依賴包提供的上傳文件接口,會(huì)發(fā)現(xiàn)其中有一個(gè)方法可以設(shè)置ObjectMetadata
oss跨域,BUG調(diào)試,技術(shù)分享,阿里云,緩存,云計(jì)算

ObjectMetadata中是可以設(shè)置Header的
oss跨域,BUG調(diào)試,技術(shù)分享,阿里云,緩存,云計(jì)算
那么解決的方法就很清晰了,我們只需要在調(diào)用該文件上傳put方法時(shí),在ObjectMetadata中設(shè)置上我們需要的Header即可,參考代碼如下:

    private final OSSClient ossClient;
    
    @PostMapping("/put-file-with-nocache")
	public PutObjectResult putFileWithNoCache(@RequestParam MultipartFile file) {
		String fileName = file.getOriginalFilename();
		ObjectMetadata metadata = new ObjectMetadata();
		// 取消文件緩存,文件每次都會(huì)從OSS服務(wù)器獲取
		metadata.setHeader("Cache-Control", "no-cache");
		metadata.setHeader("Expires", "0");
		PutObjectResult bucketName = ossClient.putObject("bucketName", fileName, file.getInputStream(), metadata);
		return bucketName;
	}

之后通過(guò)該接口上傳的圖片就不會(huì)再有跨域問(wèn)題了,我們?cè)跍y(cè)試工具中調(diào)用訪問(wèn)該圖片,也會(huì)發(fā)現(xiàn)其response中會(huì)多出一個(gè)cache-control: no-cache的響應(yīng)頭了。
oss跨域,BUG調(diào)試,技術(shù)分享,阿里云,緩存,云計(jì)算文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-789913.html

到了這里,關(guān)于springcloud:解決阿里云OSS文件訪問(wèn)跨域問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 阿里云OSS對(duì)象存儲(chǔ)使用臨時(shí)URL訪問(wèn),并對(duì)下載文件重命名

    阿里云OSS對(duì)象存儲(chǔ)使用臨時(shí)URL訪問(wèn),并對(duì)下載文件重命名

    如何使用臨時(shí)授權(quán)的url訪問(wèn)云對(duì)象地址,又如何通過(guò)該URL下載自定義的文件名。 下面是兩個(gè)內(nèi)容點(diǎn): 1.直接獲取臨時(shí)url,這個(gè)跟官方的差不多,基本上照搬即可。 2.獲取臨時(shí)url,并且可以對(duì)下載文件重命名。 java SDK版本 3.5.0 官方文檔 oss java sdk 舉例 直接使用臨時(shí)URL訪問(wèn),這里可

    2024年02月09日
    瀏覽(127)
  • vue前端下載阿里oss超大文件的問(wèn)題

    vue前端下載阿里oss超大文件的問(wèn)題

    最近在開(kāi)發(fā)一個(gè)大文件壓縮下載需求,由于附件都是從阿里oss上下載,且一次下載多個(gè)文件,然后進(jìn)行打包壓縮,前期使用了axios+jszip+file-saver 來(lái)進(jìn)行處理,但是當(dāng)文件超過(guò)3個(gè)G的時(shí)候會(huì)出現(xiàn)out of memory和RangeError: Array buffer allocation failed錯(cuò)誤。 下面貼出代碼: ? 使用常用的 a

    2024年02月11日
    瀏覽(22)
  • SpringBoot整合阿里云OSS文件存儲(chǔ)解決方案

    SpringBoot整合阿里云OSS文件存儲(chǔ)解決方案

    ?????作者名稱:DaenCode ??作者簡(jiǎn)介:啥技術(shù)都喜歡搗鼓搗鼓,喜歡分享技術(shù)、經(jīng)驗(yàn)、生活。 ??人生感悟:嘗盡人生百味,方知世間冷暖。 ??所屬專欄:SpringBoot實(shí)戰(zhàn) 以下是專欄部分內(nèi)容,更多內(nèi)容請(qǐng)前往專欄查看! 標(biāo)題 一文帶你學(xué)會(huì)使用SpringBoot+Avue實(shí)現(xiàn)短信通知功能

    2024年02月08日
    瀏覽(24)
  • 阿里云OSS 203 Non-Authoritative Information問(wèn)題解決

    阿里云OSS 203 Non-Authoritative Information問(wèn)題解決

    203 Non-Authoritative Information 1、跨域問(wèn)題,阿里云OSS沒(méi)有配置跨域規(guī)則。 解決辦法請(qǐng)參考以下博客。 阿里云OSS No ‘Access-Control-Allow-Origin‘ header is present on the requested resource問(wèn)題解決_旭東怪的博客-CSDN博客 來(lái)源:指定允許的跨域請(qǐng)求的來(lái)源。Allowed Methods:指定允許的跨域請(qǐng)求方

    2024年02月02日
    瀏覽(16)
  • vue 在頁(yè)面中使用阿里云oss網(wǎng)絡(luò)圖片,解決圖片不顯示的問(wèn)題

    vue 在頁(yè)面中使用阿里云oss網(wǎng)絡(luò)圖片,解決圖片不顯示的問(wèn)題

    最近有一個(gè)線上抽獎(jiǎng)的H5項(xiàng)目,為防止大量用戶同時(shí)訪問(wèn)服務(wù)器而發(fā)生頁(yè)面崩潰問(wèn)題,前端盡量減少頁(yè)面圖片對(duì)服務(wù)器的請(qǐng)求,準(zhǔn)備將頁(yè)面中的圖片都放到阿里云的oss中并購(gòu)買(mǎi)cdn加速服務(wù),減少服務(wù)器處理請(qǐng)求的壓力。 但是將圖片路徑換成網(wǎng)絡(luò)圖片路徑后,頁(yè)面標(biāo)簽的圖片和

    2024年02月07日
    瀏覽(20)
  • 阿里云對(duì)象存儲(chǔ)OSS配置自定義域名、CDN加速及設(shè)置跨域

    阿里云對(duì)象存儲(chǔ)OSS配置自定義域名、CDN加速及設(shè)置跨域

    采用阿里云OSS服務(wù),對(duì)資源文件管理和提供全球化CDN服務(wù) OSS官方文檔 ? OSS每次發(fā)布涉及的功能變更及對(duì)應(yīng)的文檔_對(duì)象存儲(chǔ) OSS-阿里云 https://help.aliyun.com/document_detail/114894.html 開(kāi)通對(duì)象存儲(chǔ)OSS服務(wù) ? ? ? 如果域名不是托管給阿里云管理,不能勾選自動(dòng)添加CNAME記錄。 需要手動(dòng)

    2023年04月09日
    瀏覽(97)
  • 阿里云對(duì)象存儲(chǔ)OSS使用 HTTPS訪問(wèn)

    阿里云對(duì)象存儲(chǔ)OSS使用 HTTPS訪問(wèn)

    ? 在部署項(xiàng)目的時(shí)候遇到了一個(gè)問(wèn)題,就是https頁(yè)面訪問(wèn)http資源報(bào)錯(cuò)的問(wèn)題。 問(wèn)題: 寫(xiě)了一個(gè)前端項(xiàng)目在云服務(wù)器部署,我的域名申請(qǐng)了ssl證書(shū)并在云服務(wù)器nginx部署,所以 頁(yè)面是https頁(yè)面 ,但是該項(xiàng)目中使用的圖片資源是阿里云OSS的 http資源 (阿里云OSS資源本可以通過(guò)ht

    2024年02月10日
    瀏覽(18)
  • 阿里云OSS文件上傳

    阿里云OSS文件上傳

    需求分析:實(shí)現(xiàn)文件上傳與下載 ,與SprinCloud Alibaba整合 步驟一:注冊(cè)帳號(hào) 阿里云登錄 - 歡迎登錄阿里云,安全穩(wěn)定的云計(jì)算服務(wù)平臺(tái) ?第二步:創(chuàng)建Bucket ?第三步,創(chuàng)建Accesskey? 注意:創(chuàng)建時(shí)候一定記得復(fù)制帳號(hào)密碼,密碼只在創(chuàng)建成功后顯示一次! 第四步:安裝對(duì)象存儲(chǔ)

    2024年01月24日
    瀏覽(25)
  • 文件上傳對(duì)接阿里云OSS

    文件上傳對(duì)接阿里云OSS

    1.首先注冊(cè)登陸阿里云,在產(chǎn)品里找到oss服務(wù) ?2.點(diǎn)擊開(kāi)通oss服務(wù)后,可以看到oss服務(wù)面板 ?3.創(chuàng)建一個(gè)Bucket文件存儲(chǔ)桶 Bucket 相當(dāng)于 dir =bbs/avatar 用作文件隔離 4.java對(duì)接oss服務(wù) 找到j(luò)ava SDK 5.導(dǎo)入SDK的依賴 ?如果使用的是Java 9及以上的版本,則需要添加jaxb相關(guān)依賴。添加jaxb相關(guān)

    2024年02月05日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包