Frage

Ich habe ein Problem mit der Filereference-Klasse mit der Upload-Funktion. Ich möchte die folderLocation Variable mit fileReference.upload() senden. Im Folgenden werde ich versuchen, meine Strategie zu beschreiben.

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

In PHP Ich benutze dies die um die Datei zu erhalten und zur Verfügung gestellt

$folder = $_POST['folder'];

$tempFile = $_FILES['Filedata']['tmp_name'];
$fileName = $_FILES['Filedata']['name'];
$fileSize = $_FILES['Filedata']['size'];

move_uploaded_file($tempFile, "../user/$folder/uploadImages/" . $fileName);

Aber wie kann ich das folder durch die "Upload-Referenz" senden?

War es hilfreich?

Lösung

Ich würde denken, dass, da Sie FileReference eine URLRequest braucht, würden Sie in der Lage sein, diese Informationen über die URLRequest selbst unter Verwendung des flash.net.URLVariables Objekt huckepack.

Ich habe diesmal nicht zu testen, hatte aber haben Sie versucht:

// put this right after you instantiate urlRequest;
var urlVars:URLVariables = new URLVariables();
urlVars.targetFolder     = folderLocation;
urlRequest.method        = "post";
urlRequest.data          = urlVar;

Das sollte können Sie tun:

//replace your last line with these two.
$folder = $_REQUEST[ "targetFolder" ];
move_uploaded_file($tempFile, "../user/$folder/uploadImages/" . $fileName);

in PHP.

Andere Tipps

die einfachste Sache, die Sie tun können, ist es nur senden mit einem Get-Header in der Upload-Funktion durch

so dass der Code sieht wie folgt aus

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

fileReference.upload(urlRequest);

dann im PHP-Skript verwenden Sie einfach

$_GET['extraValue']
$_GET['valueVarB']
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top