我正在尝试使用FileReference
课程将文件上传到服务器。该文件是在运行时编码的 mp3,没有将他保存在本地硬盘上。
是否有可能以某种方式将 mp3Encoder 放入其中FileReference
?
谢谢
我正在尝试使用FileReference
课程将文件上传到服务器。该文件是在运行时编码的 mp3,没有将他保存在本地硬盘上。
是否有可能以某种方式将 mp3Encoder 放入其中FileReference
?
谢谢
假设您将 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 类型。
有一个不错的教程,这个例子是从中改编的,在这里:http ://evolve.reintroducing.com/2008/01/27/as2-to-as3/as2-%E2%86%92-as3-loadvars-as3 -相等的/
如果您需要将请求作为 multipart/form-data 发送(所以它似乎是一个附件),这里有一个很好的例子:http: //marstonstudio.com/2007/10/19/how-to -采取-a-snapshot-of-a-flash-movie-and-automatically-upload-the-jpg-to-a-server-in-three-easy-steps/