iT邦幫忙

0

HTTP 302 錯誤

  • 分享至 

  • xImage
<input 
    type="file"
    className="XXX"
    id="XXX"
    onChange={XXX}
>

正常操作:選好檔案,把檔案編譯成base64,然後傳給後端

但發現如果選太大的檔案(25MB以上),會再打api時被擋下來,顯示302錯誤,但是如果檔案大小不大(KB),就會成功,目前看起來是瀏覽器預設的,不知道有沒有方法可以忽略限制

greenriver iT邦研究生 4 級 ‧ 2022-02-09 09:40:12 檢舉
改成使用Blob物件傳送?
janlin002 iT邦好手 1 級 ‧ 2022-02-09 10:10:03 檢舉
有想過,但後端要求base64
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2022-02-08 22:47:06
最佳解答

認真來說,這個鍋你不能給瀏覽器背。它是無辜的。

這是一般SERVER的安全限制。也就是很常見的timeout問題。
一般大容量的傳送。最好還是靠form-data的模式傳送。或是步進傳送。

就base64的做法而言。並不會一口氣就傳送。而是切多個區塊步進傳送後。
再由後端結合組合。

janlin002 iT邦好手 1 級 ‧ 2022-02-08 23:39:02 檢舉

那請問,如果非得要用這個方法,有辦法關閉SERVER的安全限制嗎?

可。一般調整WEB SERVER的設定及後端語言的引擎設定就好。
但~~~要先說清楚一件事。

雖然可以調整安全限制到無限大。但不代表調整上去後就可以達到你要的需求。
畢竟那是「安全」限制。
也就是說,一但你調高了。也就會有相對不安全因素存在。
未來你會有機會面臨比timeout還要可怕的事。

我要發表回答

立即登入回答