Я пытаюсь загрузить изображения во Flex 4 и пока не добился такого большого успеха.Кто-нибудь, кто может помочь?
Мой код:
private var fileref:FileReference;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
fileref = new FileReference();
}
protected function button1_clickHandler(event:MouseEvent):void
{
fileref.browse();
fileref.addEventListener(Event.SELECT, fileSelect);
}
private function fileSelect(e:Event):void {
try {
var data:ByteArray = e.target as ByteArray;
fileref.save(data, "pic1.jpg");
}
catch(err:Error) {
Alert.show("Error: " + err.message);
}
}
Редактировать:
Это было очень просто:
private function fileComplete(e:Event):void {
if(fileref.data != null) {
image1.data = fileref.data;
}
}
Я сделалвторая кнопка, которая должна сохранить изображение, и она отлично работает, но я получаю диалог, действительно ли это необходимо?Как я могу предотвратить это и поместить это явно на диск сервера? Альтернативный вариант (я использую .NET в качестве бэкэнда) для получения образа bytearray и отправки его через веб-сервис .net, позволяющий коду C # сохранить изображение .Может быть, это лучший вариант.Actionscript 3 может иметь некоторые ограничения на то, что он может делать, или я не очень информирован?
protected function button2_clickHandler(event:MouseEvent):void
{
fileref = new FileReference();
var data:ByteArray = image1.data as ByteArray;
if(data != null) {
fileref.save(data);
}
else {
Alert.show("Picture is null!");
}
}
Это работало хорошо, когда я выбрал подход Webservice и сохранил Image (= bytearray) в SqlServer.