我想获取图片的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);
答案 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" });
告诉我这是否解决了这个问题。