Blueimp 文件上传 :如何强制表单操作路径而不是 url 选项


Blueimp fileupload : How to force the form action path instead url option?

我有一个管理特定文件夹中上传的页面。在此页面上,每个文件夹都有一个上传表单。所以,这是我的javascript文件(main.js),每个表单都有".fileupload"类:

$(function () {
'use strict';
$('.fileupload').fileupload();
$('.fileupload').addClass('fileupload-processing');
$.ajax({
    url: $('.fileupload').fileupload('option', 'url'),
    dataType: 'json',
    context: $('.fileupload')[0]
}).always(function () {
    $(this).removeClass('fileupload-processing');
}).done(function (result) {
    $(this).fileupload('option', 'done')
        .call(this, $.Event('done'), {result: result});
});
});

为了告诉脚本捕获和上传特定文件夹中的文件,我在操作路径中添加了一个名为"文件夹"的变量,我将在我的索引.php上传脚本中获取该变量。这是我的 HTML :

<form class="fileupload" action="//mywebsite.com/server/php/index.php?folder=<?=$folder?>" method="POST" enctype="multipart/form-data">
...
</form>

这是我的PHP(服务器/php/index.php):

require('UploadHandler.php');
$upload_handler = new UploadHandler(array(
    'upload_dir' => "/home/mywebsite/public_html/users/" . $_GET['folder'],
    'upload_url' => "//mywebsite.com/users/" . $_GET['folder']
));

问题是它似乎不起作用。我的意思是,每个文件夹中的图像都不会显示,并且无论如何都不会开始上传。

我的问题是如何强制(通过我的 HTML/PHP)封装了特定变量(此处为"文件夹")的上传脚本路径?

我不太确定<?=$folder?>做什么,但我怀疑这就是问题所在。为什么不在JS函数中动态生成动作链接?像这样:

var folder = 'folder1'; //<-- insert folder name here
var actionlink = '//mywebsite.com/server/php/index.php?folder=' + folder;
$('.fileupload').attr('action', actionlink);