Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 将文件上载到S3 bucket-vue上载组件_Amazon S3_Vuejs2_Vue Component - Fatal编程技术网

Amazon s3 将文件上载到S3 bucket-vue上载组件

Amazon s3 将文件上载到S3 bucket-vue上载组件,amazon-s3,vuejs2,vue-component,Amazon S3,Vuejs2,Vue Component,我正在尝试使用将文件上载到AWS S3 bucket。我有一个web api设置,它返回一个带有相关细节的预签名url。我很难让这个装置正常工作。文档中说url应该作为文件上传组件的道具提供,如下所示- :put-action="signedUrl" //local variable which is set to the url returned from the url put-action="https://s3.amazonaws.com/...." 一旦文件通过inputFilte

我正在尝试使用将文件上载到AWS S3 bucket。我有一个web api设置,它返回一个带有相关细节的预签名url。我很难让这个装置正常工作。文档中说url应该作为文件上传组件的道具提供,如下所示-

:put-action="signedUrl" //local variable which is set to the url returned from the url
put-action="https://s3.amazonaws.com/...."
一旦文件通过inputFilter筛选条件,我就会启动web api调用,在我的例子中,这只是检查文本文件扩展名。我能够获得正确的签名url,甚至当我将url作为put action道具的值时,该url也能正常工作,如-

:put-action="signedUrl" //local variable which is set to the url returned from the url
put-action="https://s3.amazonaws.com/...."
但是,当尝试动态设置它时,启动上载状态会显示-No action configured,这很奇怪,因为我确信变量是在从API返回承诺后设置的

因此,组件似乎不接受新值

我曾尝试在promise按建议返回后设置道具,甚至尝试在promise按建议返回后重新呈现上载组件,但我仍然收到相同的消息


我的方法可能有什么问题。

通过设置文件级属性,实现了这一点 如下-

methods: {    
inputFilter(newFile, oldFile, prevent) {
  if (newFile && !oldFile) {                
    if (doesNotPassTheFilter) {
      return prevent();
    }
    else {
      return this.$store.dispatch('getSignedUrl').then((url) => {            
        newFile.putAction = url;
      });
    }
  }
}