簡體   English   中英

ng-file-upload不會將jpg圖像轉換為png

[英]ng-file-upload won't convert jpg image to png

我正在嘗試使用ng-file-upload將文件上傳到我的服務器,同時調整大小並將其轉換為客戶端的png。 從文檔中可以ngf-resize ,使用type屬性設置為image/pngngf-resize屬性可以實現這一點。

文檔: https//github.com/danialfarid/ng-file-upload/blob/master/README.mdtype描述為:“type是可選的,將其轉換為給定的圖像類型格式。”

當我嘗試這個時,它適用於png源文件,但如果我使用jpg文件它不會將其轉換為png,而是在Javascript控制台中出現此錯誤:

There were invalid base64 characters in the input text.
Valid base64 characters are A-Z, a-z, 0-9, NaNExpect errors in decoding.

這是我的代碼:

<div ngf-drop ngf-select ng-model="file" class="drop-box" 
   ngf-drag-over-class="'dragover'" ngf-multiple="false" 
   ngf-allow-dir="false" accept="image/jpeg,image/jpg,image/png" 
   ngf-pattern="'image/jpeg,image/jpg,image/png'" 
   ngf-resize="{width: 100, height: 100, quality: .8, centerCrop: true, type: 'image/png'}">

甚至可以使用ng-file-upload將jpg轉換為png嗎? 或者我有代碼問題? 我的目標是讓瀏覽器進行轉換,以便我的服務器只接收png圖像。

問題是該插件正在嘗試恢復png文件中的exif數據,因為它不是jpeg會失敗。 為了避免這種情況你可以:

<div ngf-drop ngf-select ng-model="file" class="drop-box" 
   ngf-drag-over-class="'dragover'" ngf-multiple="false" 
   ngf-allow-dir="false" accept="image/jpeg,image/jpg,image/png" 
   ngf-pattern="'image/jpeg,image/jpg,image/png'" 
   ngf-resize="{width: 100, height: 100, quality: .8, 
   centerCrop: true, type: 'image/png', restoreExif: false}">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM