上传图像然后共享而不使用 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 上?的主要内容,如果未能解决你的问题,请参考以下文章

如何在上传前在 iOS 共享扩展中缩小图像

在共享主机上托管时如何解决 laravel 的图像上传问题?

php图像文件上传并转换为base64而不保存图像

我正在尝试使用 Cloudinary post API 上传图像而不使用 Cloudinary SDK

Kubernetes 共享临时存储来异步上传文件

选择文件,设置图像和上传,而不阻塞用户界面