Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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
Javascript 从FineUploader获取上传的文件信息_Javascript_Reactjs_Fine Uploader - Fatal编程技术网

Javascript 从FineUploader获取上传的文件信息

Javascript 从FineUploader获取上传的文件信息,javascript,reactjs,fine-uploader,Javascript,Reactjs,Fine Uploader,我正在我的应用程序中实现React版本的FineUploader,以将文件上载到Azure Blob存储 一旦我确定上传了文件,我需要将它们的信息保存在我的后端数据库中。我不想在数据库中注册文件信息,除非我知道这些文件在blob存储中。以下是我需要捕获的信息: 原始文件名 分配的blobName或uuid 如果可以,文件大小信息也会非常有用,但这不是必须的 如果我正确阅读了文档,blobproperty似乎是我获取此信息的正确位置,但到目前为止,我还无法使其正常工作 在blobPropert

我正在我的应用程序中实现React版本的FineUploader,以将文件上载到Azure Blob存储

一旦我确定上传了文件,我需要将它们的信息保存在我的后端数据库中。我不想在数据库中注册文件信息,除非我知道这些文件在blob存储中。以下是我需要捕获的信息:

  • 原始文件名
  • 分配的
    blobName
    uuid
  • 如果可以,文件大小信息也会非常有用,但这不是必须的
如果我正确阅读了文档,
blobproperty
似乎是我获取此信息的正确位置,但到目前为止,我还无法使其正常工作

blobProperties
中,我不需要调用数据库来获取blobName。我可以分配一个简单的
GUID
值,或者简单地捕获
uuid
FineUploader正在分配的值。我只想捕获我需要的信息并将它们存储在我的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公开的方法检索所有内容,如

  • getName
  • 获取文件
  • getSize
  • getBlobName
您可以在函数中这样调用它们

onComplete: function (id, name, responseJSON, xhr) {
                uploader.methods.getName(id);
                uploader.methods.getSize(id);
                uploader.methods.getBlobName(id);
                myFunction(responseJSON);
            }

我的理解是,您在服务器中构建json响应,如下所示:返回json(new{status=“success”,fileName=“MyFileName”});-你是如何建立你的响应的?我直接上传到Azure Blob存储,所以我不会在文件上传后点击我的服务器。我的想法是在点击完成后准备我的服务器请求,但可能我没有遵循规定的方式。为了进一步澄清,我的意图是在上传完成后捕获上传的文件信息,然后对我的服务器进行API调用,将上传的文件信息存储在我的后端数据库中。这不是正确的工作流程吗?非常感谢您的帮助!积分当之无愧!真的很感激!