2017-03-07 14 views
0

画像のURLを取得し、それを使用して画像ファイルオブジェクトを取得し、それを自分のサーバーに送信したいと考えています。私は周りを見て、これまでに得ているが、コードが適切に動作しません。私のサーバーに送信すると、画像ファイルとしてアップロードされませんが、.JPG拡張子や画像ファイルの拡張子がないファイルとして単純にアップロードされます。画像URLから画像ファイルオブジェクトを作成する

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私は同じコードを使用しているファイルピッカーを持っていて、正常に動作するため、サーバーコードが動作することを知っています。しかし、私は画像のURLに貼り付けてその画像をアップロードできるようにしたい。 – 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

関連する問題