2017-03-07 63 views
0

我想拍摄一张图片的网址,并使用它来获取图片文件对象并将其发送到我的服务器。我环顾四周,已经得到了这么多,但代码无法正常工作。当我将它发送到我的服务器时,它不会作为图像文件上传,而只是上传为不带.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

@PatrickHund我知道服务器代码的作品,因为我有一个文件选择器使用相同的代码,并且工作正常。但我希望能够粘贴图像的网址并上传该图像。 – lagfvu

+0

http://stackoverflow.com/questions/12405197/read-process-image-through-javascript-by-passing-its-url-similar-to-file-get检查这一个,如果它有帮助:) –

回答

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" }); 

告诉我,如果这个问题解决了指定推广。

+0

对不起,这个没有解决这个问题。 – lagfvu

+0

好吧向我们展示您如何上传文件的代码。 – CaptainHere