0
我试图在Flex 4中上传图片,但尚未获得如此多的成功。有人可以帮忙吗?如何使用Filereference上传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-image并通过.net webservice发送,并让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!");
}
}
这很适合当我把web服务的方法,并存储在SQLServer中的图像(=字节阵列)。
你能澄清一下这个问题吗?你希望你的Flex客户端上传一个文件到服务器,还是你想将客户端产生的图像保存到本地磁盘? – Dan 2011-03-28 21:30:13
我想将上传的图像保存在服务器上的磁盘上。 – marko 2011-03-29 05:19:01