Javascript 是否使用dropzone.js上传到动态端点?

Javascript 是否使用dropzone.js上传到动态端点?,javascript,dropzone.js,Javascript,Dropzone.js,我希望使用,通过,并有一个需要能够上传到一个动态端点,虽然我不知道如何进行这一点 预期流量为: 将文件名和内容类型发送到服务器并返回上载url 将文件上载到上一步中返回的url 我确实在选项中看到了一个url选项,该选项可以使用一个可以返回url的函数,但这似乎并不适合我的需要。限制是它是一个同步操作,而对服务器的任何查询都是一个异步操作,无法在return上返回响应 有人能指出这在dropzone.js中是否可行吗 顺便说一句,服务器实际上是通过AWS SDK的S3.getSignedUr

我希望使用,通过,并有一个需要能够上传到一个动态端点,虽然我不知道如何进行这一点

预期流量为:

  • 将文件名和内容类型发送到服务器并返回上载url
  • 将文件上载到上一步中返回的url
我确实在选项中看到了一个
url
选项,该选项可以使用一个可以返回url的函数,但这似乎并不适合我的需要。限制是它是一个同步操作,而对服务器的任何查询都是一个异步操作,无法在
return
上返回响应

有人能指出这在dropzone.js中是否可行吗


顺便说一句,服务器实际上是通过AWS SDK的
S3.getSignedUrl()
创建一个签名的AWS S3 URL,并添加额外的元数据。

这应该是可行的

我看到的一个选项是使用
发送
事件并修改xhr对象上的url


您可以使用dropzone事件执行此操作

<vue-dropzone ref="vueDropzone" id="dropzone" :options="dropzoneOptions" @vdropzone-processing="dropzoneChangeUrl"></vue-dropzone>
如果您想向请求添加一些标题或在formData中添加参数,可以通过
vdropzone发送(file,xhr,formData)
事件来完成。这里有一个例子

<vue-dropzone ref="vueDropzone" id="dropzone" :options="dropzoneOptions" @vdropzone-sending="sendImages"></vue-dropzone>
其中file是您要发送的文件(如果您有多个文件,它将为每个文件执行此功能),xhr是XMLHttpRequest,formData是formData

<vue-dropzone ref="vueDropzone" id="dropzone" :options="dropzoneOptions" @vdropzone-sending="sendImages"></vue-dropzone>
sendImages(file, xhr, formData) {
    xhr.setRequestHeader('Header', 'Your Header');
    formData.append('photos', file);
}