ng-file-upload不会将jpg图像转换为png

时间:2016-05-09 01:46:23

标签: javascript angularjs ng-file-upload

我正在尝试使用ng-file-upload将文件上传到我的服务器,同时还要调整文件大小并将其转换为客户端的png。从文档中可以看出,使用allow-top-navigation属性并将amp-form属性设置为ngf-resize即可。

此处的文档:https://github.com/danialfarid/ng-file-upload/blob/master/README.mdtype描述为:“type是可选的,将其转换为给定的图像类型格式。”

当我尝试这个时,它适用于png源文件,但如果我使用jpg文件它不会将其转换为png,而是在Javascript控制台中出现此错误:

image/png

这是我的代码:

type

是否可以使用ng-file-upload将jpg转换为png?或者我有代码问题?我的目标是让浏览器进行转换,这样我的服务器才能收到png图像。

1 个答案:

答案 0 :(得分:3)

问题是该插件正在尝试恢复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}">