从 FineUploader 获取上传的文件信息
Getting uploaded file info from FineUploader
我正在我的应用程序中实施 React 版本的 FineUploader 以将文件上传到 Azure Blob 存储。
确定文件已上传后,我需要将它们的信息保存在我的后端数据库中。我不想在我的数据库中注册文件信息,除非我知道这些文件在我的 blob 存储中。这是我需要捕获的信息:
- 原始文件名
- 已分配
blobName
或 uuid
- 如果可以的话,文件大小信息也会非常有用,但这不是必须的
如果我阅读的文档是正确的,blobProperties
似乎是我获取此信息的正确位置,但到目前为止我还无法使它起作用。
在 blobProperties
内,我不需要调用我的数据库来获取 blobName。我可以分配一个简单的 GUID
值就可以了,或者只需捕获 FineUploader 正在分配的 uuid
即可。我只想捕获我需要的信息并将它们存储在我的 Redux 存储中。
这是我需要帮助的地方:
const uploader = new FineUploaderAzure({
options: {
blobProperties: function(id) {
// How do I get original file name here?
// If I can, I'd like to get file size as well.
// Once I know file's original name as well as the blobName assigned to it, I'll store them in my Redux store
},
cors: {
expected: true,
sendCredentials: false
},
signature: {
endpoint: 'http://myapp.com/api/getsas'
},
request: {
endpoint: 'https://myaccount.blob.core.windows.net/my-container'
},
callbacks: {
onComplete: function (id, name, responseJSON, xhr) {
myFunction(responseJSON);
}
}
}
})
const myFunction = (responseJSON) => {
// If upload is successful, I'll get file details from Redux store and call my action creators
// to trigger an API call to my backend so that I can register uploaded files in my database.
}
我希望得到一些关于如何获取我正在寻找的文件信息的指示。
使用 onComplete
函数参数 id
您可以使用 fineUploader 公开的方法检索所有内容,例如
- 获取名称
https://docs.fineuploader.com/branch/master/api/methods.html#getName
- 获取文件
https://docs.fineuploader.com/branch/master/api/methods.html#getFile
- 获取大小
https://docs.fineuploader.com/branch/master/api/methods.html#getSize
- getBlobName
https://docs.fineuploader.com/branch/master/api/methods-azure.html#getBlobName
你可以在你的函数中这样调用它们
onComplete: function (id, name, responseJSON, xhr) {
uploader.methods.getName(id);
uploader.methods.getSize(id);
uploader.methods.getBlobName(id);
myFunction(responseJSON);
}
我正在我的应用程序中实施 React 版本的 FineUploader 以将文件上传到 Azure Blob 存储。
确定文件已上传后,我需要将它们的信息保存在我的后端数据库中。我不想在我的数据库中注册文件信息,除非我知道这些文件在我的 blob 存储中。这是我需要捕获的信息:
- 原始文件名
- 已分配
blobName
或uuid
- 如果可以的话,文件大小信息也会非常有用,但这不是必须的
如果我阅读的文档是正确的,blobProperties
似乎是我获取此信息的正确位置,但到目前为止我还无法使它起作用。
在 blobProperties
内,我不需要调用我的数据库来获取 blobName。我可以分配一个简单的 GUID
值就可以了,或者只需捕获 FineUploader 正在分配的 uuid
即可。我只想捕获我需要的信息并将它们存储在我的 Redux 存储中。
这是我需要帮助的地方:
const uploader = new FineUploaderAzure({
options: {
blobProperties: function(id) {
// How do I get original file name here?
// If I can, I'd like to get file size as well.
// Once I know file's original name as well as the blobName assigned to it, I'll store them in my Redux store
},
cors: {
expected: true,
sendCredentials: false
},
signature: {
endpoint: 'http://myapp.com/api/getsas'
},
request: {
endpoint: 'https://myaccount.blob.core.windows.net/my-container'
},
callbacks: {
onComplete: function (id, name, responseJSON, xhr) {
myFunction(responseJSON);
}
}
}
})
const myFunction = (responseJSON) => {
// If upload is successful, I'll get file details from Redux store and call my action creators
// to trigger an API call to my backend so that I can register uploaded files in my database.
}
我希望得到一些关于如何获取我正在寻找的文件信息的指示。
使用 onComplete
函数参数 id
您可以使用 fineUploader 公开的方法检索所有内容,例如
- 获取名称 https://docs.fineuploader.com/branch/master/api/methods.html#getName
- 获取文件 https://docs.fineuploader.com/branch/master/api/methods.html#getFile
- 获取大小 https://docs.fineuploader.com/branch/master/api/methods.html#getSize
- getBlobName https://docs.fineuploader.com/branch/master/api/methods-azure.html#getBlobName
你可以在你的函数中这样调用它们
onComplete: function (id, name, responseJSON, xhr) {
uploader.methods.getName(id);
uploader.methods.getSize(id);
uploader.methods.getBlobName(id);
myFunction(responseJSON);
}