【问题标题】:How to save a file in photos folder in playbook如何将文件保存在剧本的照片文件夹中
【发布时间】:2012-08-11 05:28:45
【问题描述】:

我有兴趣将图像文件保存到 Playbook 照片文件夹。通过使用documentsDirectory,我可以将我的文件保存到文档中。但是剧本的原生图片应用程序不显示文档目录中的图像, 我需要在图片目录中显示我的图像,例如剪贴簿将图像保存在照片中。 photos->scrapbook->(在 Scrapbooks 中创建的所有图像),通过它可以在 playbook 的原生图片应用程序中显示。

我该怎么做?

【问题讨论】:

    标签: actionscript-3 blackberry-playbook playbook


    【解决方案1】:

    我认为您想使用 CameraRoll 类。来自文档:

    CameraRoll.addBitmapData() 方法将图像添加到设备的专用媒体库。要在运行时检查您的应用程序是否支持 CameraRoll.addBitmapData() 方法,请检查 CameraRoll.supportsAddBitmapData 属性。

    CameraRoll.browseForImage() 方法打开一个图像选择对话框,允许用户在媒体库中选择图像。当用户选择图像时,CameraRoll 对象会调度一个选择事件。使用为此事件调度的 MediaEvent 对象来访问所选图像。要在运行时检查您的应用程序是否支持 CameraRoll.browseForImage() 方法,请检查 CameraRoll.supportsBrowseForImage 属性。

    【讨论】:

    • CameraRoll 允许我以 jpg 格式保存图像,它会降低质量并将其保存到相机目录,但我想将我的文件保存为 png 格式,以便使用 PNGEncoder 类具有透明度,通过使用CameraRoll.addBitmapData() ,它也不允许我命名文件。
    • :-) .. 是的,但我要求将图像文件保存到照片文件夹,而不是保存其 bitmapData。
    【解决方案2】:

    我做到了……

    var imgStr : String = title + ".jpg";
    var imgFile : File = new File("/accounts/1000/shared/photos/Custom folder/" + imgStr);
    

    它将允许您将图像保存在照片目录中。

    感谢大家的支持。

    【讨论】:

    • 您应该永远必须使用 PlayBook 中的绝对路径。您的应用程序的当前目录始终位于沙盒文件夹中,其中有一个指向共享文件夹的符号链接。使用它作为相对路径,因此您将使用 File("shared/photos...") 代替(注意:没有前导斜杠!)。
    • 我尝试使用 File("shared/photos/Folder name/" + imgStr);我收到 ArgumentError 错误:错误 #2004:其中一个参数无效。在 Flash.filesystem::File 处的 Error$/throwError() 处/在 flash.filesystem::File() 处设置 nativePath()
    • Shashank,必须存在子文件夹“文件夹名称”才能正常工作。假设它确实存在,另一个问题可能是您需要在 bar-descriptor.xml 文件(或者,更确切地说,在您的 .bar 中生成的 MANIFEST.MF 文件中)设置“access_shared”权限才能访问任何共享文件夹。你也有那一套吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2012-11-11
    相关资源
    最近更新 更多