上传图像然后共享而不使用 sharedObject 或任何东西将文件保存在 Flex 上?
Posted
技术标签:
【中文标题】上传图像然后共享而不使用 sharedObject 或任何东西将文件保存在 Flex 上?【英文标题】:upload image then share without saving the file on Flex using sharedObject or anything? 【发布时间】:2011-06-10 02:46:54 【问题描述】:我目前正在与上传图片并分享它进行聊天。问题是我可以上传和显示图像,但我无法将其分享给另一方。
这是一些代码:
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);
【问题讨论】:
【参考方案1】:如果您以 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");
【讨论】:
哎呀,请忽略我忘记更改的类名。我的意思是我需要上传和分享图像给其他用户(实时)。感谢您的回复。以上是关于上传图像然后共享而不使用 sharedObject 或任何东西将文件保存在 Flex 上?的主要内容,如果未能解决你的问题,请参考以下文章
在共享主机上托管时如何解决 laravel 的图像上传问题?