4

我正在使用这个插件ng-flow来上传 .zip 文件,它工作正常。我需要在其中传递动态值(user_id,job_id)以创建保存文件的动态文件夹,但是此插件使用配置方法进行初始化,而我没有在配置方法中传递动态值的方法

以下是我使用过的代码

查看部分 - index.html

服务器部分 - upload.php

控制器部分 - app.js,在这里你会找到一个配置函数,我想将动态值传递给服务器部分。在 Config 方法中,我尝试定义一个提供程序来访问动态值,但我没有找到方法。有什么方法可以访问配置中的值(我要访问的值在 localstorageService 插件中)

希望我已经清楚地解释了你。任何帮助或建议将不胜感激提前谢谢

4

2 回答 2

3

在您的 index.html 文件中添加并初始化值:

<div ng-controller="dataCtrl">
     <input ng-init="id=2374897289345" type="hidden"/>
</div>

然后打开 app.js 并使用以下代码添加控制器:

.controller('dataCtrl', ['$scope', function($scope){
    console.log('Hello');
    $scope.$on('flow::fileAdded', function (event, $flow, flowFile) {       
        $flow.opts.query = {id:$scope.id};
    });

}])

现在可以在帖子中访问您的文件。

于 2016-04-07T09:04:40.863 回答
2

我得到了如何将动态值动态值传递给服务器部分的解决方案。

首先在您的视图部分设置流初始化

  <div flow-init = "{
                                target: '../../dummy.php',
                                permanentErrors: [404, 500, 501],
                                maxChunkRetries: 1,
                                chunkRetryInterval: 5000,
                                simultaneousUploads: 4,
                                headers: config
                  };"> 

然后在控制器中将动态设置为标头的此配置变量

$scope.config = {
        id: localStorageService.get('userkey').id, 
        token: localStorageService.get('userkey').token
  };

(localStorageService 包含我的登录详细信息)

现在您可以使用 $_SERVER 从服务器端访问此 ID 和令牌

$_SERVER['HTTP_ID'];
$_SERVER['HTTP_TOKEN'];
于 2016-04-07T09:02:31.577 回答