【发布时间】:2010-04-22 19:51:42
【问题描述】:
我想知道是否可以将文件写入本地系统,而不是写入连接的服务器或其他网络路径。
我是否必须为此使用外部接口,还是可以将其委托给 AIR 框架?
我很确定 AIR 有一定的安全预防措施来防止这种情况发生。
【问题讨论】:
标签: actionscript-3 air path unc network-share
我想知道是否可以将文件写入本地系统,而不是写入连接的服务器或其他网络路径。
我是否必须为此使用外部接口,还是可以将其委托给 AIR 框架?
我很确定 AIR 有一定的安全预防措施来防止这种情况发生。
【问题讨论】:
标签: actionscript-3 air path unc network-share
什么样的网络路径? SMB、FTP、HTTP、WebDav、..?
如果它安装在您的本地 PC 上,那么您应该能够像写入任何其他驱动器或文件系统一样写入它。
【讨论】:
在 OSX 中将新文件写入网络驱动器上的文件夹:
var targetDir:File = new File("/Volumes/Data/SomeFolder");
targetDir.createDirectory(); // ensure directory exists, create if not
var targetFile:File = targetDir.resolvePath("newFile.ext");
var fileStream:FileStream = new FileStream();
try {
fileStream.open(targetFile, FileMode.WRITE);
fileStream.writeBytes(byteArray); // or what/however you want to write
fileStream.close();
} catch (e:Error) {
trace(e);
}
我假设对于 Windows,您只需在第一行交换网络驱动器路径。您不应指定协议(例如 file://、smb:// 等); File 构造函数的参数格式是本机路径(就像它出现在终端/命令 shell 中一样)。
要在 OSX 中获取路径,请使用 Finder 导航到目标网络文件夹。开始将文件夹拖到其他地方,点击苹果+空格打开 Spotlight,然后继续将文件夹拖到 Spotlight 中。或者,打开终端窗口并将文件夹拖到终端窗口中。
【讨论】:
new File('\\networkpath\file.png') 抛出一个IOErrorEvent: URL not found,但无论如何复制都是成功的。