【问题标题】:Want to set dynamic folder name in flowFactoryProvider config to pass it to upload.php file to save the uploaded file in it想在 flowFactoryProvider 配置中设置动态文件夹名称,将其传递给 upload.php 文件,以将上传的文件保存在其中
【发布时间】:2016-07-27 21:13:12
【问题描述】:
我正在使用这个插件ng-flow 来上传 .zip 文件,它工作正常。我需要在其中传递动态值(user_id,job_id)来创建保存文件的动态文件夹,但是这个插件使用配置方法进行初始化,我没有在配置方法中传递动态值的方法
以下是我用过的代码
查看部分 - index.html
服务器部分 - upload.php
控制器部分 - app.js ,在这里你会找到一个配置函数,我想将动态值传递给服务器部分。在 Config 方法中,我尝试定义一个提供程序来访问动态值,但我没有找到方法。有什么方法可以访问配置中的值(我要访问的值在 localstorageService 插件中)
希望我已经清楚地解释了你。任何帮助或建议将不胜感激
提前致谢
【问题讨论】:
标签:
javascript
php
angularjs
flow
ng-flow
【解决方案1】:
在你的 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};
});
}])
现在可以在帖子中访问您的文件。
【解决方案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'];