2017-03-07 6 views
2

RESTのアプリがAngularJS/PHP(Yii)にあります。 私はバックエンドが良くありません。 写真をサーバーにアップロードする最も良い方法は何ですか? 私はAngular Material指令を使用しており、画像はbase64形式です。イメージファイルをサーバーに送る最善の方法は何ですか:base64またはimageファイルですか?

  • 私はbase64として画像を投稿するべきか?
  • それを変換する方が良いですし、どのような形式ですか?
  • htmlformから へ直接アップロードするには、Yiiを使用してください(おそらく、私の意見ではありません)?

答えて

2

をトリミング、リサイズ用のURLベースのパラメータを提供しています:

function upload($scope.image) { 
var formData = new FormData(); 
formData.append($scope.image); 
Restangular.one('/* your url*/').withHttpConfig({transformRequest:angular.identity}) 
       .customPOST(formData, '', undefined, {'Content-Type': undefined}) } 

は、コンテンツタイプを未定義のブラウザに設定することにより、ユーザーのUI側を処理するファイルタイプ

を自動的に検出します。私はYiiのフレームワークについてあまり考えを持っていますが、次のように、あなたは、次のタイプ使用してイメージファイルを取得することができます。

のjava:@ResponseBy:マルチパート/フォームデータ

PHP:$ _file

フォームデータを使用してファイルをアップロードする方が良いと思います。

-1

あなたが言っているようにファイルのbase64データURL表現を持っているなら、それをファイルBlobに変換し、名前を付け加えてデータファイルとしてBlobをアップロードすることができます。

1

アップロードした画像をウェブサイトやモバイルアプリケーションに表示する場合は、ImageKit.ioを使用できます。簡単なAPIをアップロードすると、その画像を表示するためのURLが表示されます。これは、最適化の世話をしても、次のコードを試してみてくださいなど、私はあなたがrestangularからイメージファイルをアップロードしようと考えて

関連する問題