我正在使用SwfUpload,我希望能够指定目标文件夹。现在我已经硬编码了最终目的地,但我希望能够动态控制它。有没有办法让SwfUpload将其提交到我的上传脚本?我尝试将其作为隐藏变量添加到显示上传者的表单中,但它不会出现在我的脚本中:
这是显示上传者的表单。页面的其余部分非常标准,所以我没有包含它。查找隐藏字段“destinationpath”
<form id="form1" action="nowhere.html" method="post" enctype="multipart/form-data">
<p>Select file to upload for program.
</p>
<div class="fieldset flash" id="fsUploadProgress">
<span class="legend">Upload Queue</span>
</div>
<div id="divStatus">0 Files Uploaded</div>
<div>
<span id="spanButtonPlaceHolder"></span>
<input id="btnCancel" type="button" value="Cancel All Uploads" onclick="swfu.cancelQueue();" disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;" />
</div>
<input name="destinationpath" type="hidden" value="c:/DigitalMediaFiles/">
</form>
然后在upload.php中我检查它:
if (isset($_REQUEST["destinationpath"]))
$save_path = $_REQUEST["destinationpath"];
但未设定。我怀疑swf上传不提交表单。
答案 0 :(得分:0)
这样做的方法是在SWFSettings对象的post_params中指定参数
post_params: { “destinationpath”:“C:\ DigitalMediaFiles” },
我尝试使用addPostParam(),但这对我不起作用。把它放在设置的post_params中。
答案 1 :(得分:0)
如果目标文件夹与up-loader(客户端)无关,则可以在php脚本中执行此操作,而无需从客户端脚本获取该变量。这是通过php脚本将文件保存在目标目录中。
如果目标文件夹与每个客户端不同,您仍然可以将它们保存在同一目录中,并使用.htaccess文件重写每个客户端的URL(使用客户端ID)。在这种情况下,您需要保存文件,将客户端ID保存在文件名的一部分中。您可以使用分隔符来分解文件名。
如果您仍然需要按照自己在问题中提到的方式进行操作,只需在配置js文件中使用post_params:{}函数,该文件是为swfupload.js文件编写的。在这种情况下,post_params:{}函数将如下所示:
post_poarams: { 'your-variable-name-in-php-goes-here': 'value of this variable at this time goes here' },