问题:
我有一个带有文本框,文件浏览(uploadify)和提交按钮的表单。我通过AJAX提交此表单。当我使用文件浏览器选择文件时,它会自动上传到针对文件夹选项定义的文件夹。提交表单后,我想将数据保存到数据库中。我可以在发布后获取其他字段数据但无法获取上传文件。在提交这样的表单之后,我想在$ _POST中添加一组上传的文件:
$_POST( 'fullname'=>'ABC', 'uploaded_files' => array( '/uploads/abc.doc', '/uploads/xyz.doc' ) );
怎么可能?
到目前为止我已执行以下操作。
jQuery的:
jQuery('.FileUpload').uploadify({
'uploader' : '/uploadify/uploadify.swf',
'script' : '/uploadify/uploadify.php',
'cancelImg' : '/uploadify/cancel.png',
'folder' : '/uploads',
'auto' : true,
'queueID' : 'fileQueue',
'removeCompleted':false
});
HTML:
<form action='save.php' method='POST' enctype='multipart/form-data'>
Name: <input type='text' name='fullname' id='fullname'>
Source File: <input type='file' name='photos' id='photos' class='FileUpload'>
<div id="fileQueue"></div>
<input type='submit' name='submit' id='submit'>
</form>
答案 0 :(得分:2)
使用javascript,您可以在表单中添加一些输入来跟踪上传的文件。例如,你可以把:
<input type='hidden' name='files[]' value="FILENAME1">
<input type='hidden' name='files[]' value="FILENAME2">
<input type='hidden' name='files[]' value="FILENAME3">
答案 1 :(得分:2)
请注意,uploadify有一个onComplete
事件,可以从'script'
参数返回数据。
因此,当uploadify关闭文件时,您可以让脚本返回文件存储位置的路径,然后根据onComplete
事件中传回的内容在表单中检索/存储它。 (这将是onComplete
回调的响应部分)
从那里,您可以填充随表单提交的隐藏表单字段(如AurelioDeRosa所示)并填充响应值。