iT邦幫忙

0

swiftUI 上傳圖片到Local伺服器

  • 分享至 

  • xImage

小弟我目前在測試上傳圖片到Local伺服器的功能,流程大致如下

app階段
1.選擇圖片
2.將圖片壓縮(.jpegData(compressionQuality: 0.5))
3.編譯成base64EncodedString()

php階段
4.php接收第3項,並轉換成圖片存入

用上述方法會遇到手機Memory的問題,當我上傳多張圖片時,就會因為Memory過大導致app出現閃退情形,因此想詢問是否有其他上傳圖片的方式能夠解決這個問題?

謝謝~

第一次聽到因為手機Memory過大會造成問題,那你的APP不就只能用老舊手機才行,要不要在確認CODE哪邊寫錯了,造成這各狀況
phes11434 iT邦新手 2 級 ‧ 2022-06-15 14:10:34 檢舉
@窮嘶發發發 你好,抱歉,應該說使用的memory過大(目前測試大於2G,就會閃退),謝謝回復
froce iT邦大師 1 級 ‧ 2022-06-15 14:59:10 檢舉
能傳binary就用binary,base64會讓占用空間變大。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-06-15 10:12:50

上傳多張圖片時,就會因為Memory過大導致app出現閃退情形

如果閃退原因確定是因為Memory過大的話
我能想到的解決方法只有

「使用者點一次上傳,app一筆上傳,一筆上傳多張圖片」的做法
改成
「使用者點一次上傳,app分成多筆上傳,每筆上傳一張圖片」

如果現在已經是這種做法
那就算我沒說

phes11434 iT邦新手 2 級 ‧ 2022-06-15 14:11:13 檢舉

你好,現在已經是第二種做法,感謝回復

0

其實圖片做 base64 化時,容量長度會變得比原來的圖片容量還要大。
所以當多張圖片的情況下。建議用程式來分段上傳。

但如果單一檔案就已經不足的情況下。一般大多會用程式來限制大大容量來處理。
真不要限制的話。就只能特殊處理了。或是改用 form data 模式傳送。

我要發表回答

立即登入回答