如何解决上传图片然后共享,而无需使用sharedObject或其他东西将文件保存在Flex上?
| 我目前正在与他人聊天,以上传图片并共享图片。问题是我可以上传并显示图像,但不能共享到另一侧。 这是一些代码:public var photo:FileReference = new FileReference();
protected function crop_clickHandler(event:MouseEvent):void
{
var f:FileFilter = new FileFilter(\"Image\",\"*.jpg;*.jpeg;*;*.gif;*.png;*\");
photo.addEventListener(Event.SELECT,fileSelected);
photo.browse([f]);
}
private function fileSelected(evt:Event):void
{
photo.addEventListener(Event.COMPLETE,loadCompleted);
photo.load();
}
private var loader : Loader = new Loader();
private function loadCompleted(evt:Event):void
{
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,getBitmapData);
loader.loadBytes(photo.data);
}
private function getBitmapData(event:Event):void
{
var content:* = loader.content;
var BMPData:BitmapData = new BitmapData(content.width,content.height);
var UIMatrix:Matrix = new Matrix();
BMPData.draw(content,UIMatrix);
var imgObj:Object = new Object();
imgObj.client = username.text;
imgObj.img = BMPData;
imgSO.setProperty(\"image\",imgObj);
}
private function imagehandler(SEvt:SyncEvent):void
{
if(imgSO.data.image)
{
var imgObj:Object = imgSO.data.image;
var p:ParagraphElement = new ParagraphElement();
var image:InlineGraphicElement = new InlineGraphicElement();
image.source = new Bitmap(imgObj.img);
p.addChild(senderName(imgObj.client));
p.addChild(image);
chatWindow.textFlow.addChild(p);
}
}
解决方法
如果您以Flash Player 10为目标,则可以尝试使用
FileReference
类。快速(未试用)示例:
protected function exportImage():void
{
var imageToSave:ImageSnapshot = ImageSnapshot.captureImage(image,300,new PNGEncoder());
var file:FileReference = new FileReference();
file.save(imageToSave.data,\"my_image_name.png\");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。