从亚马逊S3下载图像时接收空白的白色方框

时间:2017-08-22 13:27:16

标签: angularjs amazon-s3 angular-promise

我是从我的api上传图像到S3并从另一个前端应用程序下载的。我看到一个白色方框而不是我上传到S3的实际图像。

API代码

收到回复后我正在阅读文件,我觉得这里有一个承诺问题,如何解决这个问题。正在执行函数时,不会返回Promise。我很感激帮助。

完成功能

      $scope.done = function {

        var s3Url;
        var allURLs = [];
        if($scope.files.length > 0){
    Service.methods.createUrl(getExtension($scope.files[0].name), $scope.files[0].type).then((response) => { 
        s3URL = response.data.signedUrl;
        allUrls.push(response.data.url);
        return;
   }).then(() => {
      return fileReader($scope.files[0]);
   }).then((data) => {
      return Service.methods.putDataInS3(s3URL, data, $scope.files[0].type);
   }).then(() => {
    return createMsg(allUrls);
   }).catch((error) => {
        $log.error('Could not upload attachment.', error);
        showError('Could not upload attachment.');
    });




function fileReader(file){
var promiseReader = $q.defer();
            var reader = new FileReader();
            reader.readAsArrayBuffer(file);

            reader.onload = function(){
                // var result = reader.result;
                promiseReader.resolve(reader.result);
            };

            reader.onError = function(){
                $log.error('Error reading file.', reader.error);
                promiseReader.reject(reader.error);
            };

            return promiseReader;
}

0 个答案:

没有答案