Si, puedes subir practicamente cualquier cosa, incluso lo he probado para subir archivos .exe, además no tiene una limitación de peso al subir, puedes subir archivos gigantescos (Si lo haces con PHP debes editar el php.ini para subir archivos de mucho peso).
Quizá te sirve esta función que uso yo para subir cualquier tipo de contenido:
Código ActionScript :
import flash.net.FileReference;
// Path donde el archivo php se encontrará
var host_str:String = _global.path_str+"/media/";
// Mensajes predeterminados del sistema de upload
var mensajes_upload:Object = {};
mensajes_upload.cancel = "Import Information from .CSV";
mensajes_upload.select_fail = "Import Information from .CSV";
mensajes_upload.open = "Accediendo al archivo";
mensajes_upload.progress = " % Loading...";
mensajes_upload.complete = " loaded";
//Función de súbida del archivo
function uploadFile(Description:String, Extension:String, UploadPHP:String, Text:MovieClip, Information_onCompleted:String):Void {
var allTypes:Array = new Array();
var imageTypes:Object = new Object();
imageTypes.description = Description;
imageTypes.extension = Extension;
allTypes.push(imageTypes);
var listener:Object = new Object();
listener.onSelect = function(file:FileReference):Void {
_global.filename_renamed = "file_"+(file.name.substr(0, 2).toLowerCase())+"_"+random(100000)+file.name.substr(file.name.indexOf("."));
if (!file.upload(host_str+UploadPHP+"?name="+_global.filename_renamed)) {
Text.text = mensajes_upload.select_fail;
}
};
listener.onCancel = function(file:FileReference):Void {
Text.text = mensajes_upload.cancel;
};
listener.onOpen = function(file:FileReference):Void {
Text.text = mensajes_upload.open;
};
listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
var porcentaje_num = new Number(Math.floor((bytesLoaded*100)/bytesTotal));
Text.text = porcentaje_num+mensajes_upload.progress;
};
listener.onComplete = function(file:FileReference):Void {
Text.text = _global.filename_renamed+mensajes_upload.complete;
};
listener.onHTTPError = function(file:FileReference):Void {
Text.text = "HTTPError: "+file.name;
};
listener.onIOError = function(file:FileReference):Void {
Text.text = "IOError: "+file.name;
};
listener.onSecurityError = function(file:FileReference, errorString:String):Void {
Text.text = "SecurityError: "+file.name+" Type: "+errorString;
};
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse(allTypes);
}