从图像Web URL创建图像文件对象

时间:2017-03-07 09:31:56

标签: javascript

我想获取图片的URL并使用它来获取图像文件对象并将其发送到我的服务器。我环顾四周,已经走到这一步,但代码无法正常工作。当我将其发送到我的服务器时,它不会上传为图像文件,而只是上传为没有.JPG扩展名或任何图像文件扩展名的文件。

    var byteNumbers = new Array(this.imgUrl.length);

    for (var i = 0; i < this.imgUrl.length; i++)
    {
        byteNumbers[i] = this.imgUrl.charCodeAt(i);
    }

    this.img = new File(byteNumbers, "imgFromUrl", { type: "image/jpeg" });  

这会获取文件并显示我日志中的文件详细信息,例如lastmodified,filename等。但是当我将它上传到我的服务器时,我只是得到一个没有扩展名的文件,如上所述。

该文件通过附加到表单上传并发送到服务器。这是因为我也在发送其他数据。

this.http.post(this.serverUrl + "face/detect/", data, { headers: this.headers })
          .toPromise()
          .then(response => response.json())
          .catch(error => error);

1 个答案:

答案 0 :(得分:0)

您需要在文件名中指定扩展名

 var byteNumbers = new Array(this.imgUrl.length);

    for (var i = 0; i < this.imgUrl.length; i++)
    {
        byteNumbers[i] = this.imgUrl.charCodeAt(i);
    }

    this.img = new File(byteNumbers, "imgFromUrl.jpg", { type: "image/jpeg" }); 

告诉我这是否解决了这个问题。