Actionscript 3 不使用FileReference.browse()将文件上载到服务器

Actionscript 3 不使用FileReference.browse()将文件上载到服务器,actionscript-3,Actionscript 3,我正在尝试使用FileReference类将文件上载到服务器。 该文件是运行时编码的mp3,未将其保存在本地硬盘上 是否可以以某种方式将MP3编码器安装到文件引用中 谢谢假设您将mp3作为ByteArray(如果您没有将其保存到磁盘,则不确定在运行时它将如何存在),您可以使用URLLoader类,如下所示: var scriptRequest:URLRequest = new URLRequest("PATH_TO_YOUR_UPLOAD_SCRIPT"); var scriptLoader:U

我正在尝试使用
FileReference
类将文件上载到服务器。 该文件是运行时编码的mp3,未将其保存在本地硬盘上

是否可以以某种方式将MP3编码器安装到
文件引用中


谢谢

假设您将mp3作为ByteArray(如果您没有将其保存到磁盘,则不确定在运行时它将如何存在),您可以使用URLLoader类,如下所示:

var scriptRequest:URLRequest = new URLRequest("PATH_TO_YOUR_UPLOAD_SCRIPT");
var scriptLoader:URLLoader = new URLLoader();
var scriptVars:URLVariables = new URLVariables();

scriptLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);
scriptLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError);

scriptVars.var1 = MP3_AS_BYTE_ARRAY;

scriptRequest.method = URLRequestMethod.POST;
scriptRequest.data = scriptVars;

scriptLoader.load(scriptRequest);

function handleLoadSuccessful($evt:Event):void
{
    trace("Message sent.");
}

function handleLoadError($evt:IOErrorEvent):void
{
    trace("Message failed.");
}
然后在服务器上,您只需要将流保存到一个文件中,并为其提供正确的mp3 mime类型

这里有一个不错的教程,从中改编了这个例子:


如果您需要将请求作为多部分/表单数据发送(因此它似乎是一个附件),这里有一个很好的例子:

为什么要使用filereference类呢?我不确定您是如何生成此MP3的,但您应该能够访问byteArray,然后使用加载程序将其发送到服务器。