我使用上传功能遇到了文件引用类的问题。
我想用folderLocation
发送fileReference.upload()
变量。
下面我尝试描述我的策略。
var folderLocation : String = "photos/myUniqueFolder/";
private var serverSideScript:String = "http://localhost/project/phpFlexMechanism/upload.php";
urlRequest = new URLRequest(serverSideScript);
fileReferenceList.addEventListener(Event.SELECT, fileSelectedHandler);
private function fileSelectedHandler(event:Event):void {
// upload the file to the server side script
fileReference.addEventListener(Event.COMPLETE, uploadCompleteHandler);
fileReference.upload(urlRequest);
}
在PHP中,我用它来获取文件并上传
$folder = $_POST['folder'];
$tempFile = $_FILES['Filedata']['tmp_name'];
$fileName = $_FILES['Filedata']['name'];
$fileSize = $_FILES['Filedata']['size'];
move_uploaded_file($tempFile, "../user/$folder/uploadImages/" . $fileName);
但是如何通过“上传参考”发送folder
?
答案 0 :(得分:2)
我认为,由于您FileReference
需要URLRequest
,因此您可以使用URLRequest
对象通过flash.net.URLVariables
本身捎带该信息。
我没时间测试这个,但你试过了吗?
// put this right after you instantiate urlRequest;
var urlVars:URLVariables = new URLVariables();
urlVars.targetFolder = folderLocation;
urlRequest.method = "post";
urlRequest.data = urlVar;
那应该让你这样做:
//replace your last line with these two.
$folder = $_REQUEST[ "targetFolder" ];
move_uploaded_file($tempFile, "../user/$folder/uploadImages/" . $fileName);
PHP中的。
答案 1 :(得分:1)
您可以做的最简单的事情就是通过上传功能中的get标头发送它
所以代码如下所示
private var serverSideScript:String = "http://localhost/project/phpFlexMechanism/upload.php?extraVar=value&extraVarB=value2";
fileReference.upload(urlRequest);
然后在php脚本中你只需使用
$_GET['extraValue']
$_GET['valueVarB']