Angularを使用して、Laravelサーバーから受信した予約済みURLを使用して、イメージをs3バケットにアップロードしています。Angular - imageからs3にpresigned画像をアップロードしていない
ファイルが適切なコンテンツタイプで正常にアップロードされているようです。私はS3に角度アップロード後S3ファイルにPUT
年代をクリックした場合、私が取得:
しかし、実際のファイルサイズは27.9kb
です:
Object: dog-aromatherapy.jpg
Bucket: dderesources
Name: dog-aromatherapy.jpg
Link: This is a public link -> https://s3.amazonaws.com/dde.resources/dog-aromatherapy.jpg
Size: 28660
Last Modified: Tue Jun 14 14:51:13 GMT-400 2016
Owner: myusername
ETag: f478788943af2296223a0f45a9c50610
Expiry Date: None
Expiration Rule: N/A
メタデータはimage/jpeg
として正しいですか、つまりのサイズが28.6kb
の場合、余分な~700b程度が失われていると予想しています...
私が見るには画像をクリックすると、それは白いminiboxを示しています
はそれを自分で試してみてください:https://s3.amazonaws.com/dderesources/dog-aromatherapy.jpg
角度アップロードコード:
var upload_file = function (file, response) {
var formData = new FormData();
formData.append('image', file);
return $http({
method: 'PUT',
url: response.signed_request,
data: formData,
headers: {
'Content-Type': file.type
},
cache: true
});
};
これはなぜですか?
を使用するには、dderesources' 'に変更し、これはそれを解決しませんでした。左側のファイルは '27.9kb 'ですが、ファイル上で' view properties'をクリックするとサイズが '28660'、つまり' 28.6kb'になります。ファイルをダウンロードして開こうとすると、「ファイルが破損しているか、またはプレビューで認識できないファイル形式を使用しています」と表示されます。 – Growler
試してみてください。 –
角の '$ http'は必要に応じて変更されます:http://stackoverflow.com/questions/18839524/how-to-use-https-in-angularjs – Growler