Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本一级特黄aa大片24免费,欧美性生免费视频,91热视频在线观看

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線(xiàn):

          【MinIO 上傳的圖片,打開(kāi)鏈接默認(rèn)是下載的問(wèn)題】

          MinIO 上傳的圖片,打開(kāi)鏈接默認(rèn)是下載的問(wèn)題

          項(xiàng)目中使用MinIO作為文件服務(wù)器,上傳圖片,拿到鏈接后瀏覽器打開(kāi)直接下載

          我們想要的效果是打開(kāi)鏈接后預(yù)覽圖片,而不是下載。

          為什么有的圖片鏈接在瀏覽器打開(kāi)是預(yù)覽顯示內(nèi)容,而有的則是直接下載?關(guān)鍵就在于Content-Type上

          這就需要?jiǎng)觿?dòng)生銹的大腦思考了 …

          關(guān)于的頭部信息Content-Type

          Content-Type: /octet-stream

          /octet-stream 告訴瀏覽器這是一個(gè)附件,瀏覽器會(huì)直接進(jìn)行下載,而不是預(yù)覽,只有image/png或者image/jpeg這種的的才會(huì)進(jìn)行預(yù)覽,展示圖片內(nèi)容。

          在這里插入圖片描述

          咱只需要將Content-Type修改為 image/jpeg就ok了。

          服務(wù)器生成圖片返回到前端可以在上設(shè)置content-type,但這個(gè)是上傳到文件服務(wù)器MinIo,訪(fǎng)問(wèn)的直接是文件服務(wù)器,并不經(jīng)過(guò)我們后臺(tái)服務(wù),應(yīng)該怎么設(shè)置?

          于是我去了MinIO的控制臺(tái),點(diǎn)擊各種按鈕,想找找有沒(méi)有可以設(shè)置訪(fǎng)問(wèn)鏈接時(shí)頭部設(shè)置的,然而并沒(méi)有找到任何可以設(shè)置的東西… 頭大呀,好不容易有了思路,又給澆滅了。

          不過(guò)我相信總是有辦法的,有句話(huà)說(shuō)得好,辦法總比苦難多嘛。

          既然MinIO控制臺(tái)不能設(shè)置,咱能不能在上傳之前就指定呢? 想實(shí)現(xiàn)這一點(diǎn),關(guān)鍵在于MinIO得支持呀。

          所以呢就去上傳方法那里找了找,看有沒(méi)有其它參數(shù)!

          在這里插入圖片描述

          點(diǎn)一點(diǎn),還真有,這不就是設(shè)置嗎。 哈哈,終于找到解決方案了,開(kāi)始碼代碼測(cè)試,最終呢測(cè)試有效,下面就是設(shè)置方法,各位看官僅供參考。

          解決辦法:

          這里以MinIO上傳為例,直接上代碼:

              /**
               * 通過(guò)流上傳文件
               *
               * @param bucketName  存儲(chǔ)桶
               * @param objectName  文件對(duì)象
               * @param inputStream 文件流
               */
              public ObjectWriteResponse uploadFile(String bucketName, String objectName, InputStream inputStream) throws Exception {
                  createBucket(bucketName);
                  return minioClient.putObject(
                          PutObjectArgs.builder()
                                  .bucket(bucketName)
                                  .object(objectName)
                                  .contentType(ViewContentTypeEnum .getContentType(objectName))
                                  .stream(inputStream, inputStream.available(), -1)
          

          瀏覽器下載鏈接打不開(kāi)_瀏覽鏈接器下載打開(kāi)不了_瀏覽鏈接器下載打開(kāi)沒(méi)反應(yīng)

          .build()); }

          public enum ViewContentTypeEnum {
              DEFAULT("default","application/octet-stream"),
              PNG("png", "image/png"),
              JPEG("jpeg", "image/jpeg"),
              JPG("jpg", "image/jpeg"),
              GIF("gif", "image/gif"),
              WBMP("wbmp", "image/vnd.wap.wbmp"),
              TIFF("tiff", "image/tiff"),
              JFIF("jfif", "image/jpeg"),
              TIF("tif", "image/tiff"),
              FAX("fax", "image/fax"),
              JPE("jpe", "image/jpeg"),
              NET("net", "image/pnetvue"),
              RP("rp", "image/vnd.rn-realpix"),
              ICO("ico", "image/x-icon");
              private String prefix;
              private String type;
              private static final Map<String, ViewContentTypeEnum> ENUM_MAP = new HashMap<>();
              static {
                  ViewContentTypeEnum[] values = values();
                  for (ViewContentTypeEnum value : values) {
                      ENUM_MAP.put(value.getPrefix(), value);
                  }
              }
              public static String getTypeByPrefix(String prefix) {
          

          瀏覽鏈接器下載打開(kāi)沒(méi)反應(yīng)_瀏覽鏈接器下載打開(kāi)不了_瀏覽器下載鏈接打不開(kāi)

          ViewContentTypeEnum viewContentTypeEnum = ENUM_MAP.get(prefix); if (viewContentTypeEnum == null) { return prefix; } return viewContentTypeEnum.getType(); } public static String getContentType(String prefix){ if(StringUtils.isEmpty(prefix)){ return DEFAULT.getType(); } prefix = prefix.substring(prefix.lastIndexOf(".") + 1); String type = getTypeByPrefix(prefix); if (StringUtils.isNotEmpty(type)) { return type; } return DEFAULT.getType(); } ViewContentTypeEnum(String prefix, String type) { this.prefix = prefix; this.type = type; } public String getPrefix() { return prefix; } public String getType() { return type; } }

          .(.()) 是核心,在上傳直接設(shè)置content-type就可以了。

          QQ上的鏈接無(wú)法打開(kāi)

          QQ上的鏈接無(wú)法打開(kāi)的解決辦法:選擇一個(gè)常用的瀏覽器設(shè)置為默認(rèn)瀏覽器就可以啦。

          設(shè)置默認(rèn)瀏覽器步驟如下:

          1、Windows XP系統(tǒng)點(diǎn)擊左下角-開(kāi)始–控制面板–添加或刪除程序–(左側(cè))設(shè)定程序訪(fǎng)問(wèn)和默認(rèn)值–選擇自定義,點(diǎn)擊右側(cè)下拉選項(xiàng)打開(kāi)–選擇一個(gè)默認(rèn)的瀏覽器–“使用當(dāng)前的瀏覽器”選上,同時(shí)在需要使用的瀏覽器后面選上“啟用對(duì)程序的訪(fǎng)問(wèn)”。

          1、如果裝了ie瀏覽器,也可以這樣設(shè)置:打開(kāi)ie瀏覽器—打開(kāi)菜單欄上的“工具”選項(xiàng)–選項(xiàng)–程序–默認(rèn)的瀏覽器–將 瀏覽器設(shè)置為默認(rèn)值。借助第三方軟件修復(fù)方法/步驟:打開(kāi)“360安全衛(wèi)士” —“系統(tǒng)修復(fù)—點(diǎn)擊“電腦門(mén)診”—“常用軟件”第二頁(yè),然后點(diǎn)擊立即修復(fù)“QQ面板鏈接打不開(kāi)”選項(xiàng),點(diǎn)“立即修復(fù)”即可。

          瀏覽器下載鏈接打不開(kāi)_瀏覽鏈接器下載打開(kāi)不了_瀏覽鏈接器下載打開(kāi)沒(méi)反應(yīng)

          瀏覽鏈接器下載打開(kāi)不了_瀏覽器下載鏈接打不開(kāi)_瀏覽鏈接器下載打開(kāi)沒(méi)反應(yīng)

          瀏覽鏈接器下載打開(kāi)沒(méi)反應(yīng)_瀏覽鏈接器下載打開(kāi)不了_瀏覽器下載鏈接打不開(kāi)

          其他解決方法:

          出現(xiàn)此情況,是由于安裝過(guò)不同的瀏覽器或者瀏覽器被劫持(病毒木馬導(dǎo)致),使用鏈接無(wú)法識(shí)別默認(rèn)瀏覽器導(dǎo)致。

          1、嘗試清空IE緩存;(操作方法:打開(kāi)瀏覽器,點(diǎn)擊“工具”->“選項(xiàng)”->“刪除Cookies”和“清除歷史記錄”,再點(diǎn)擊“確定”即可)

          瀏覽器下載鏈接打不開(kāi)_瀏覽鏈接器下載打開(kāi)沒(méi)反應(yīng)_瀏覽鏈接器下載打開(kāi)不了

          2、把使用的瀏覽器設(shè)為默認(rèn)瀏覽器;(操作方法:以TT瀏覽器為例,打開(kāi)TT瀏覽器,點(diǎn)擊“工具”->“TT選項(xiàng)”->“綜合設(shè)置”->“默認(rèn)瀏覽器”中選中“TT瀏覽器”點(diǎn)擊“保存”即可)

          3、若通過(guò)以上方法仍無(wú)法成功,請(qǐng)嘗試重新下載QQ軟件,下載地址: 。

          A、可先將之前的QQ版本卸載(請(qǐng)先做好聊天等記錄備份,以免丟失)——再重啟計(jì)算機(jī)——重新下載官方網(wǎng)站 提供的QQ最新版本——安裝到與之前QQ版本不同的路徑;

          B、請(qǐng)登錄 下載新版的TT瀏覽器,并將其設(shè)置為默認(rèn)瀏覽器使用(設(shè)置方法為:打開(kāi)TT瀏覽器后的上方“工具”--TT選項(xiàng)--綜合設(shè)置--選擇“Tencent ”為默認(rèn)瀏覽器即可);

          C、請(qǐng)退出QQ后重新登錄,再?gòu)腝Q客戶(hù)端進(jìn)入QQ空間查看。


          主站蜘蛛池模板: 日本一区二区在线不卡| 国产熟女一区二区三区四区五区 | 国产色精品vr一区区三区 | 精品视频午夜一区二区| 久久se精品一区二区| 国产日韩精品一区二区三区| 91国偷自产一区二区三区| 亚洲A∨无码一区二区三区| 成人午夜视频精品一区| 中文字幕一区二区区免| 一区二区手机视频| 亚洲午夜日韩高清一区| 日韩精品一区二区三区在线观看 | 日韩av片无码一区二区三区不卡| 国产福利一区二区三区在线视频| 日韩视频一区二区三区| 日韩免费视频一区二区| 久久国产精品无码一区二区三区 | 亚洲狠狠狠一区二区三区| 国产熟女一区二区三区四区五区 | 日本精品夜色视频一区二区| 日本一区二区三区在线看| 国产视频一区二区| 精品一区精品二区| 精品国产不卡一区二区三区| 波多野结衣的AV一区二区三区| 一区二区三区在线播放视频| 成人区人妻精品一区二区不卡视频 | 免费视频精品一区二区三区| 任你躁国产自任一区二区三区| 国产美女露脸口爆吞精一区二区| 99精品国产一区二区三区| 欧洲精品无码一区二区三区在线播放| 免费无码一区二区三区蜜桃| 亚洲国产精品一区二区久久hs| 精品少妇ay一区二区三区 | 中文字幕一区二区三区精彩视频| 91在线精品亚洲一区二区| 亚洲日韩国产一区二区三区在线| 国内精品一区二区三区在线观看| 一区二区三区日本视频|