我正在使用FileReference.save将jpg保存到用户的计算机中。在Windows7中,我输入"test.jpg"作为要保存的文件名,但在文件保存对话框中只显示"test"(在WindowsVista中,"test.jpg"作为文件名显示)。因此,除非用户手动添加.jpg扩展名,否则Windows7不会知道它是jpeg文件,因为它只是被保存为"测试"。我希望能够为用户传递.jpg扩展名,但Windows7似乎正在从传递到文件保存对话框的文件名中剥离文件扩展名。
fr = new FileReference();
fr.save(imgByteArray, 'test.jpg');
好吧,问题只是操作系统对您隐藏了扩展。修复它:
- 单击"开始"菜单
- 单击"我的电脑"
- 当我的计算机窗口有焦点时(点击它以确定),点击Alt+strong>键,这将为您提供旧风格的菜单
- 单击工具菜单,向下进入文件夹选项
- 在弹出的窗口中,单击顶部的第二个选项卡,名为View
- 在底部的复选框列表中,取消选中隐藏已知文件类型的扩展名框
- 点击OK
- 再次运行Flex程序
除了步骤1和2,您还可以点击WinKey+E来获得资源管理器窗口。
技术写作101。
当您执行保存、浏览或下载操作时,打开的对话框取决于操作系统,因此将使用用户应用于操作系统的设置进行处理。如果您在AIR的上下文中,您可以使用FileStream类直接保存,而不需要对话框。