【问题标题】:UIkit uploader: Getting the uploaded fileUIkit 上传器:获取上传的文件
【发布时间】:2017-08-04 03:38:37
【问题描述】:

我需要获取上传的文件以将其推送到文件列表中,但我无法做到...希望有人可以帮助我:

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

   ...

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

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

我尝试了不同的方式、回调等,但都没有奏效。真不知道怎么弄到文件!!

提前谢谢你。

【问题讨论】:

  • 这取决于您的 url 中的内容,可能是带有一些值、成功、文件名的 json 字符串。尝试在completeAll(arg) { console.log(arg);} 中插入参数,看看它是否返回了一些东西。显示你的函数,你处理上传的地方,可能是 php.ini。上传组件只处理前端。
  • 谢谢您,您的信息帮助我获取了文件:)
  • oki,那么问题就解决了吗?我应该粘贴我的评论作为答案吗? :)
  • 是的,只有当您想做出“完整答案”时,我只需要添加以下代码即可实现我所需要的:var res = JSON.parse(JSON.stringify(arg));fileList.push(res.responseJSON.grid);$scope.$apply();(responseJSON.grid 是文件内容在哪里):)
  • 今天晚些时候我会准备的

标签: javascript getuikit


【解决方案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');
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-26
    • 2015-09-27
    • 2011-05-10
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多