我正在尝试将FineUploader React库实现到我的React应用程序中,以将文件上载到我的Azure Blob存储。
看起来出于某种原因,FineUploader错误地获取了blob存储URI。
这是我在测试组件中实例化FineUploader的方式:
import React, { Component } from 'react';
import FineUploaderAzure from 'fine-uploader-wrappers/azure'
import Gallery from './gallery/index';
const uploader = new FineUploaderAzure({
options: {
cors: {
expected: true,
sendCredentials: true
},
signature: {
endpoint: 'https://myapp.com/api/getsas'
},
request: {
endpoint: 'https://myaccount.blob.core.windows.net/test-container'
},
uploadSuccess: {
endpoint: 'https://myapp.com/api/done'
}
}
})
class Index extends Component {
render() {
return (
<Gallery uploader={uploader} />
)
}
}
export default Index;
这是我在控制台中看到的错误。看起来FineUploader对blob存储使用了错误的URI。
你知道这是什么原因吗?
更新:
根据@GauravMantri的建议,我改变了
endpoint
到
containerUrl
在选项部分,但这似乎也没有帮助。下面是它的样子:
const uploader = new FineUploaderAzure({
options: {
cors: {
expected: true,
sendCredentials: true
},
signature: {
endpoint: 'https://myapp.com/api/getsas'
},
request: {
containerUrl: 'https://myaccount.blob.core.windows.net/test-container'
},
uploadSuccess: {
endpoint: 'https://myapp.com/api/done'
}
}
})
以下是我通过邮递员发送请求时收到的SAS:
我发送的请求是:
http://example.com/api/files/get/sas?blobUri=https://myaccount.blob.core.windows.net/test-container/test.txt&_method=put
这是我收到的SAS:
"?sv=2017-04-17&sr=b&sig=7pXTnI2r8uGyZms12T9cRvHg1XlLI53ZJtwPUwGElnY%3D&st=2017-12-28T14%3A02%3A56Z&se=2017-12-28T14%3A22%3A56Z&sp=w"