【问题标题】:sending additional values to PHP script using angular-file-upload使用 angular-file-upload 向 PHP 脚本发送附加值
【发布时间】:2015-03-03 12:08:56
【问题描述】:

所以我使用angular-file-upload

为此,我需要以下控制器:

app.controller('FileUploadCtrl', ['$scope', 'FileUploader', function($scope, FileUploader) {
var uploader = $scope.uploader = new FileUploader({
    url: 'js/controllers/upload.php',
});

// FILTERS

uploader.filters.push({
    name: 'customFilter',
    fn: function(item /*{File|FileLikeObject}*/, options) {
        return this.queue.length < 10;
    }
});

// CALLBACKS

uploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/, filter, options) {
    console.info('onWhenAddingFileFailed', item, filter, options);
};
uploader.onAfterAddingFile = function(fileItem) {
    console.info('onAfterAddingFile', fileItem);
};
uploader.onAfterAddingAll = function(addedFileItems) {
    console.info('onAfterAddingAll', addedFileItems);
};
uploader.onBeforeUploadItem = function(item) {
    item.file.test = "gg";
    console.info('onBeforeUploadItem', item);
};
uploader.onProgressItem = function(fileItem, progress) {
    console.info('onProgressItem', fileItem, progress);
};
uploader.onProgressAll = function(progress) {
    console.info('onProgressAll', progress);
};
uploader.onSuccessItem = function(fileItem, response, status, headers) {
    console.info('onSuccessItem', fileItem, response, status, headers);
};
uploader.onErrorItem = function(fileItem, response, status, headers) {
    console.info('onErrorItem', fileItem, response, status, headers);
};
uploader.onCancelItem = function(fileItem, response, status, headers) {
    console.info('onCancelItem', fileItem, response, status, headers);
};
uploader.onCompleteItem = function(fileItem, response, status, headers) {
    console.info('onCompleteItem', fileItem, response, status, headers);
};
uploader.onCompleteAll = function() {
    console.info('onCompleteAll');
};

console.info('uploader', uploader);
}]);

以及以下 php 脚本:

    <?php

if ( !empty( $_FILES ) ) {

    $tempPath = $_FILES[ 'file' ][ 'tmp_name' ];
    $uploadPath = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . $_FILES[ 'file' ][ 'name' ];

    move_uploaded_file( $tempPath, $uploadPath );

    $answer = array( 'answer' => 'File transfer completed' );
    $json = json_encode( $answer );

    echo $json;

} else {

    echo 'No files';

}

?>

现在对于我需要上传的一些文件,我需要指定它们需要采用的路径(这取决于我的 $sessionStorage 中的值)

所以我的问题是如何将文件的值发送到 PHPscript?

【问题讨论】:

    标签: php angularjs angular-file-upload


    【解决方案1】:

    您可以使用 formData 属性将值发送到 PHPscript:

    app.controller('FileUploadCtrl', ['$scope', 'FileUploader', function($scope, FileUploader) {
    var uploader = $scope.uploader = new FileUploader({
        url: 'js/controllers/upload.php',
        formData: [{
                 param1: 'value1',
                 param2: 'value2',
                 param3: 'value3'
               }]
    });
    

    formData 属性是将您的数据发送到 PHP 中的 $_REQUEST 的数组。

    所以,你可以使用

    $myValue1 = $_REQUEST['param1'];
    $myValue2 = $_REQUEST['param2'];
    $myValue3 = $_REQUEST['param3'];
    

    满足您的需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-25
      • 2015-08-04
      相关资源
      最近更新 更多