2

我正在使用 FileReference.save 将 jpg 保存到用户的计算机。在 Windows 7 中,我将“test.jpg”作为要保存的文件名传入,但文件保存对话框中只出现“test”(“test.jpg”在 Windows Vista 中作为文件名出现)。因此,除非用户手动添加 .jpg 扩展名,否则 Windows 7 不知道它是 jpeg 文件,因为它只是被保存为“测试”。我希望能够为用户传递 .jpg 扩展名,但 Windows 7 似乎正在从传递给文件保存对话框的文件名中剥离文件扩展名。

fr = new FileReference();
fr.save(imgByteArray, 'test.jpg');
4

1 回答 1

1

好吧,问题只是操作系统正在向您隐藏扩展。要解决这个问题:

  1. 点击开始菜单
  2. 点击我的电脑
  3. 当我的电脑窗口获得焦点时(点击确定),按下Alt键,这将为您提供旧式菜单。
  4. 单击工具菜单转到文件夹选项...
  5. 在弹出的窗口中,单击顶部的第二个选项卡View
  6. 在底部的复选框列表中,取消选中隐藏已知文件类型的扩展名框。
  7. 点击确定
  8. 再次运行您的 Flex 程序

作为步骤 1 和 2 的替代方法,您可以按 WinKey+E以获取资源管理器窗口。

是的,技术写作 101。

当您执行保存、浏览或下载操作时,打开的对话框取决于操作系统,因此会使用用户应用于操作系统的设置来处理。如果您在 AIR 的上下文中,则可以使用 FileStream 类直接保存而无需对话框。

于 2012-03-24T20:39:41.000 回答