Как я могу отправить другую переменную с помощью FileReference Upload? - PullRequest
1 голос
/ 30 июля 2009

У меня проблема с классом filereference при использовании функции загрузки. Я хочу отправить переменную 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 через "ссылку для загрузки"?

Ответы [ 2 ]

2 голосов
/ 30 июля 2009

Я думаю, что, поскольку вам 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 голос
/ 31 июля 2009

самое простое, что вы можете сделать, это просто отправить его с помощью заголовка get в функции загрузки

, поэтому код выглядит следующим образом

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

fileReference.upload(urlRequest);

тогда в php-скрипте вы просто используете

$_GET['extraValue']
$_GET['valueVarB']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...