首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有未定义名称的ngx-image-cropper输出属性文件

具有未定义名称的ngx-image-cropper输出属性文件
EN

Stack Overflow用户
提问于 2018-10-03 17:43:13
回答 2查看 2.3K关注 0票数 1

我正在使用ngx-image-cropper在我的angular应用程序中裁剪图像。我使用返回'File‘的输出属性(imageCroppedFile)来捕获裁剪后的图像。我需要裁剪后的图像有一个文件名,这样我就可以使用name属性遍历后端的文件,而它在默认情况下是未定义的。我怎么给它起个名字呢?我尝试了以下方法:在FormData上,

代码语言:javascript
复制
var formData:any = new FormData();
console.log('The number of files is '+files.length);//Logs the number of files is 1

for(var i=0; i<files.length;i++) {
  formData.append("uploads[]", files[i].name, 'image'+i);
  console.log('File name '+ i + ' ' +files[i].name);//Logs File name 0 undefined
}

以及由裁剪触发的方法

代码语言:javascript
复制
imageCroppedFile(image: File) {
  this.filesToUpload = [];
  console.log('imageCroppedFile method '+image.name+ ' size is '+image.size);// Logs imageCroppedFile method undefined size is 380284
  this.filesToUpload[0]=image;
  console.log('The filesToUpload is '+this.filesToUpload[0].name);// Logs The filesToUpload is undefined
}

上传器在没有裁剪器的情况下工作。

EN

回答 2

Stack Overflow用户

发布于 2018-10-03 17:52:29

将你的文件转换为blob,你可以自己命名你的blob

代码语言:javascript
复制
const blobImage = file as Blob;

参考:https://github.com/Mawi137/ngx-image-cropper/issues/91#issuecomment-422252629

票数 1
EN

Stack Overflow用户

发布于 2021-04-09 22:26:57

这对我来说很有效:

代码语言:javascript
复制
// grab the cropped area to file for upload
var b64File = this.dataURLtoFile(this.croppedImage, 'hello.jpg');  // you can name it anything.

dataURLtoFile(dataurl, filename): File {
        var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
            bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
        while(n--){
            u8arr[n] = bstr.charCodeAt(n);
        }
        return new File([u8arr], filename, {type:mime});
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52624169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档