Flex--读写本地文件 in Flash Player 10

介绍了Flash Player 10中新增的FileReference API,该API允许开发者直接读写用户系统的文件,无需通过服务器中转。文章提供了读取和保存文件的示例代码,并列举了API支持的相关事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     Flash Player 10中的一个新的特点就是更新了ActionScript FileReference APIs,新的FileReference允许Flash能够直接读写用户系统的数据。

     在Flash Player 10之前,为了能够读写用户的本地文件,Flash首先不得不先把它反弹回sever端,然后再从server端加载它,之后才可以访问它,这样不仅编程实现起来麻烦,而且还增加了应用的延迟和资源的使用。

     The new functionality is achieved through the addition of two new APIs on the FileReference class:

FileReference.load() : Loads data from a file selected by the user.
FileReference.save() : Saves data to a file location selected by the user.


需要记住以下几点:
  ·The load() and save() APIs can only be called in response to user interaction (such as a button click).
  ·The locations of the loaded and save files are not exposed to ActionScript.
  ·The APIs are asynchronous (异步的)(non-blocking).

 


Below are two examples that show how to use the APIs. The examples use Flex for the UI, but the ActionScript is the same regardless of whether you are using Flex or not.

 

Read a file from the users system: 

 

Write a file to the users system:

 

 

In addition to the events shown in the examples above, the following events are also broadcast by the APIS:

ProgressEvent.PROGRESS : Gives progress on the reading or writing of the file
Event.OPEN : Broadcast when the file is opened for reading or writing.
 While it will also be possible to use these APIs in Adobe AIR, in general, you will want to use the AIR File APIs as they provide more functionality and flexibility.

 

### 如何在虚拟机中截取屏幕图片 当尝试在虚拟机环境中进行截图时,可能会遇到一些特定的情况或限制。以下是几种常见的解决方案以及可以采用的方法。 #### 方法一:通过宿主机操作系统实现截图 如果发现无法直接在虚拟机内部完成截图操作,可以通过切换焦点至宿主机来解决问题。只需将鼠标点击到虚拟机外部的区域(例如桌面上的任务栏或其他窗口),然后再执行截图命令即可[^1]。通常情况下,宿主机上的截图工具仍然能够捕捉整个屏幕的画面,这其中包括运行中的虚拟机窗口。 对于Windows系统来说,常用的截图方式包括按下`Print Screen`键保存全屏图像到剪贴板;或者利用Snipping Tool/Snip & Sketch应用程序更灵活地选取所需部分。如果是Mac OS X,则可考虑使用组合按键如`Command+Shift+3`(捕获整张屏幕)`或 Command+Shift+4 `(自定义框选范围)。 #### 方法二:调整虚拟化软件配置优化兼容性表现 有时由于图形渲染选项设置不当也会干扰正常的截图流程。针对VirtualBox这类平台而言,已知存在因开启“3D 加速”而导致某些功能异常的现象。因此建议进入该应用的相关属性对话框里找到显示分类下的高级子项,“取消勾选启用 3D 图形加速”,从而改善此类状况的发生概率[^4]。 #### 方法三:借助专门设计用于调试分析目的的技术手段获取目标数据流片段 假如上述常规途径均不可行的话,还可以探索更加底层深入的方式——即运用逆向工程原理配合专用调试器完成任务。具体做法涉及加载待测样本文件之后对其进行保护处理形成混淆后的机器指令序列,最后依靠OllyDbg之类的动态链接库插件辅助定位感兴趣的关键位置并记录下来作为最终成果输出[^3]。不过这种方法相对复杂且具有一定的技术门槛,一般仅适用于特殊场景需求之下。 ```python import pyautogui # 使用Python脚本自动控制模拟人类行为来进行跨环境交互式自动化测试演示案例 pyautogui.screenshot('vm_screenshot.png') print("Screenshot saved successfully.") ``` 以上提供了一种基于PyAutoGUI库编写的小型实用程序代码样例,它可以在不同平台上轻松调用相应API接口达成一致效果而无需关心实际物理设备差异带来的影响因素变化情况。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值