Wie kann ich eine andere Variable mit FileReference- hochladen schicken?
-
05-07-2019 - |
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?
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']