Apache flex 如何使用FileReference上传发送另一个变量?

Apache flex 如何使用FileReference上传发送另一个变量?,apache-flex,flex3,Apache Flex,Flex3,我在使用upload函数时遇到filereference类问题。 我想用fileReference.upload()发送folderLocation变量。 下面我试着描述一下我的策略 var folderLocation : String = "photos/myUniqueFolder/"; private var serverSideScript:String = "http://localhost/project/phpFlexMechanism/upload.php"; urlRequ

我在使用upload函数时遇到filereference类问题。 我想用
fileReference.upload()
发送
folderLocation
变量。 下面我试着描述一下我的策略

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);

但是我如何通过“上传引用”发送
文件夹

我认为,既然
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中。

您可以做的最简单的事情就是在upload函数中使用get头发送它

因此,代码如下所示

private var serverSideScript:String = "http://localhost/project/phpFlexMechanism/upload.php?extraVar=value&extraVarB=value2"; 

fileReference.upload(urlRequest);
然后在php脚本中使用

$_GET['extraValue']
$_GET['valueVarB']

抱歉迟到。非常感谢您的回复。非常感谢您的回复。抱歉迟到。