2017-07-30 128 views
0

我需要上传的文件为它推向文件的列表,但我不能够做到这一点......我希望有人能帮助我:的UIKit上传:获取上传的文件

UIkit.upload('.test-upload', { 
    url: `/api/gridfs/${driver}`, 

    ... 

    completeAll() { 
     setTimeout(function() { 
     bar.setAttribute('hidden', 'hidden'); 
     }, 1000); 

     // Here: fileList.push(???); 
    } 
}); 

我试过了不同的方式,回调等,但没有一个工作。我真的不知道我怎么能得到这个文件!

预先感谢您。

+1

它取决于你在你的url中有什么,可能json字符串有一些值,成功,文件名。尝试将参数插入'completeAll(arg){console.log(arg);}'看看它是否返回一些东西。显示你的功能,你在哪里处理上传,可能是PHP。上传组件只处理前端。 – cssBlaster21895

+0

谢谢你,你的信息帮助我获得文件:) – nash

+0

oki,所以问题解决了?我应该将我的评论粘贴为答案吗? :) – cssBlaster21895

回答

1

上传组件有url选项。这是脚本的地址,用于处理您的请求。上传插件只处理前端。你如何准备后端,取决于你使用的技术。在剧本里面,你准备好了回应。它可以是带有一些参数的json。

在PHP它可能看起来像:

//...upload procedures...set headers as text/json etc 
$response = ['success' => true, 'filename' => $upload_data['filename']]; 
echo json_encode($response); 
return true; 

然后你可以检查一下,一下由上传插件使用的回调之一追溯到。您将参数放在回调函数中,并尝试使用console.log查看是否您的json在里面。从文档中取得的示例,并修改了一下:

completeAll: function (arguments) { //added arguments, without it - arguments could be undefined in the line below 
     console.log('completeAll', arguments); 

     setTimeout(function() { 
      bar.setAttribute('hidden', 'hidden'); 
     }, 1000); 

     alert('Upload Completed'); 
    }