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);
}