我想自动将.wav文件保存到位置。目前我正在使用
private function recordComplete(e:Event):void
{
fileReference.save(recorder.output, "recording.wav");
}
但它会打开对话框并要求保存文件。如何自动保存文件?在某个地方?还有不同的名字,我想要的。 你的帮助会很明显 谢谢
答案 0 :(得分:0)
出于安全考虑,未经用户明确同意,不允许Flash Player在用户文件系统上保存文件。这样做是因为可以在网页上嵌入(并因此执行)Flash Player动画;允许在没有用户确认的情况下保存文件将允许恶意代码在用户计算机上下载有害内容。
在AIR中,File和FileStream类允许您创建自动保存系统;但是,由于它是AIR,因此无法在webapp中使用,并且必须在使用之前安装您的应用程序。
如果您只是需要定期保存用户不需要直接访问的数据,我建议您查看SharedObject课程。此类允许您在未经用户同意的情况下保存持久数据,但用户无法(轻松)访问此数据。
答案 1 :(得分:0)
解决了这个问题 使用以下代码上传文件
var request:URLRequest = new URLRequest ( 'uploadWav.php' );
var loader: URLLoader = new URLLoader();
request.contentType = 'application/octet-stream';
request.method = URLRequestMethod.POST;
request.data = recorder.output;
loader.load( request );
而不是使用
fileReference.save(recorder.output, "recording.wav");
并且上面的代码也导入了以下类
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLLoaderDataFormat;
import flash.net.URLVariables;