亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅通過網址識別圖像/gif 大小

僅通過網址識別圖像/gif 大小

ABOUTYOU 2022-09-23 16:53:50
我希望用戶在我的輸入中粘貼 gif 或圖像的鏈接。例如,用戶粘貼此鏈接:https://media.giphy.com/media/yYSSBtDgbbRzq/giphy.gif我希望我的應用程序識別此gif是否超過5MB,而無需下載它。這可能嗎?我正在將 Reactjs 用于前端,將節點 js+ express 用于后端
查看完整描述

3 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

您可以通過僅請求標題來獲取內容長度。這是一個基于獲取的方法,在這里這個答案:


Ajax - 在下載之前獲取文件的大小

const getFileSize = async (url) => {

   const response = await fetch(url, {method: 'HEAD'})


   const size = response.headers.get('content-length')


   return size

}


查看完整回答
反對 回復 2022-09-23
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

該協議提供了該方法。根據維基百科的HTTP文章,它就像方法一樣,只是它只返回HTTP標頭而不是數據。HTTPHEADGET

這可能正是您所需要的:發出 AJAX 頭請求而不是 AJAX-GET 請求,并從結果中解析圖像的預期大小。

我不知道如何在JS中表述這一點,但Linux命令行證明了這個原理是有效的。如果我鍵入:

curl --head https://media.giphy.com/media/yYSSBtDgbbRzq/giphy.gif

我從包含該行的服務器收到響應

content-length: 2156106

這是你想要的信息。


查看完整回答
反對 回復 2022-09-23
?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

您可以使用它使用戶能夠上傳下載的文件或復制/粘貼.gif文件的鏈接。<input type="file" class="js-file-upload" />


之后,從JS端,您將需要檢查該文件的大?。ㄈ绻麄冋迟N直接鏈接,它將自動上傳到用戶PC的臨時文件中)。


下面是一個簡單的示例


const file = document.querySelector('.js-file-upload').files[0];

const fileSize = (file.size/1024/1024).toFixed(2);

const allowedSize = 5;


if (fileSize > allowedSize) {

     //print error

}


查看完整回答
反對 回復 2022-09-23
  • 3 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號