Я загружаю файл, используя метод Adobe Air HTTPService.Send, передавая байтовый массив содержимого файла, считанного с помощью FileReference. Когда я записываю набор байтов со стороны сервера (php), он записывает в файл детали байтового массива (buff) вместо содержимого файла, например
"endian = bigEndian & position = 0 & bytesAvailable = 61127 & length = 61127 & objectEncoding = 3". Ниже я включил код того, как я читаю файл и отправляю его на сервер. В любом случае, я могу напрямую передать данные в байтовом массиве для отправки метода?
Файл Чтение
var buff:ByteArray = new ByteArray();
var localFilePath:String = "/Videos/sample.txt";
var uploadedFile:File = new File(localFilePath);
var uploadedFileStream:FileStream = new FileStream();
uploadedFileStream.open(uploadedFile,FileMode.READ);
uploadedFileStream.readBytes(buff);
uploadedFileStream.close();
Загрузка файла
var serverPath:String = "http://myurl.com/rests";
var service:mx.rpc.http.mxml.HTTPService=new mx.rpc.http.mxml.HTTPService();
service.url=serverPath;
service.requestTimeout=30;
service.method="POST";
service.contentType="application/x-www-form-urlencoded";
service.addEventListener(ResultEvent.RESULT,onResponceReceive);
service.addEventListener(FaultEvent.FAULT,onResponceFail);
var userName:String="myusername";
var password:String="mypwd";
var encoder:Base64Encoder = new Base64Encoder();
encoder.insertNewLines=false;
encoder.encode(userName+":"+password);
service.headers={Authorization:"Basic "+encoder.toString()};
try{
service.send(buff);
}catch(error:Error){
Alert.show(error.message);
}