I’m having an issue with a file uploader i’m working on. Certain files, it seems files over 7mb will not upload, nor give an error, it just silently freezes when it starts.
This is on a MediaTemple [dv] with the php.ini modified so that max_file_upload = 100M, same issue.
Here some ActionScript for ya:(shortned a lil)
var listener:Object = new Object();
listener.onSelect = function(selectedFile:FileReference):Void {
browse_mc.filename_txt.text = selectedFile.name;
var good_fmt:TextFormat = new TextFormat();
good_fmt.color = 0x666666;
browse_mc.status_txt.size_txt.setNewTextFormat(good_fmt);
var newfilesizeInMb:Number = (selectedFile.size/1024)/1024;
var filesizeInMb:Number = int(newfilesizeInMb*100)/100;
browse_mc.status_txt.size_txt.text = filesizeInMb+" mb";
browse_mc.status_txt.type_txt.text = selectedFile.type;
var dateText:String = String(selectedFile.modificationDate);
var strippedDate:Array = dateText.split(dateText.substring(dateText.length-13, dateText.length-5));
browse_mc.status_txt.modified_txt.text = strippedDate[0]+strippedDate[1];
browse_mc.status_txt.alpha_tween = new Tween(browse_mc.status_txt, "_alpha", Regular.easeInOut, browse_mc.status_txt._alpha, 100, .33, true);
browse_mc.status_txt.alpha_tween.onMotionFinished = function() {
if (filesizeInMb<=100) {
browse_mc.status_txt.main_error_txt.text = "";
browse_mc.upload_but.alpha_tween = new Tween(browse_mc.upload_but, "_alpha", Regular.easeInOut, browse_mc.upload_but._alpha, 100, .33, true);
browse_mc.upload_but.alpha_tween.onMotionFinished = function() {
browse_mc.upload_but.onRelease = function() {
browse_mc.upload_but.enabled = false;
browse_mc.browse_but.enabled = false;
status_mc.alpha_tween = new Tween(status_mc, "_alpha", Regular.easeInOut, status_mc._alpha, 100, .33, true);
status_mc.alpha_tween.onMotionFinished = function() {
selectedFile.upload("http://72.47.197.19/dev_AA_Video_Contest/php/uploadVideo.php?id="+_global.user_id+"&videoTitle="+_global.videoTitle+"&videoCategory="+_global.videoCategory+"&videoDescription="+_global.videoDescription+"&videoKeywords="+_global.videoKeywords+"&this=end");
};
};
};
} else {
var error_fmt:TextFormat = new TextFormat();
error_fmt.color = 0xff0000;
browse_mc.status_txt.size_txt.setNewTextFormat(error_fmt);
browse_mc.status_txt.size_txt.text = filesizeInMb+" mb";
browse_mc.status_txt.main_error_txt.text = "The file is too large, chose another or modify your clip to be smaller.";
browse_mc.upload_but.tweenDown = new Tween(browse_mc.upload_but, "_alpha", Regular.easeInOut, browse_mc.upload_but._alpha, 25, .33, true);
browse_mc.upload_but.enabled = false;
}
};
};
listener.onOpen = function(selectedFile:FileReference):Void {
browse_mc.upload_but.tweenDown = new Tween(browse_mc.upload_but, "_alpha", Regular.easeInOut, browse_mc.upload_but._alpha, 25, .33, true);
var newfilesizeInMb:Number = (selectedFile.size/1024)/1024;
var filesizeInMb:Number = int(newfilesizeInMb*100)/100;
status_mc.status_txt.text = "Uploading...";
status_mc.videoTitle_txt.text = _global.videoTitle;
status_mc.totalSize_txt.text = filesizeInMb+" mb";
status_mc.filename_txt.text = selectedFile.name;
status_mc.cancel_but.enabled = true;
status_mc.cancel_but.onRelease = function() {
selectedFile.cancel();
status_mc.status_txt.text = "Cancelled.";
status_mc.cancel_but.onRelease = Void;
status_mc.alpha_tween = new Tween(status_mc, "_alpha", Regular.easeInOut, status_mc._alpha, 25, .33, true);
browse_mc.upload_but.tweenDown = new Tween(browse_mc.upload_but, "_alpha", Regular.easeInOut, browse_mc.upload_but._alpha, 100, .33, true);
browse_mc.upload_but.enabled = true;
browse_mc.browse_but.enabled = true;
status_mc.progressBar_mc._xscale = 0;
status_mc.percent_txt.text = "0%";
status_mc.amountUploaded_txt.text = "";
status_mc.totalSize_txt.text = "";
status_mc.filename_txt.text = "";
};
};
listener.onProgress = function(selectedFile:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
var pctLoaded:Number = Math.round(bytesLoaded/bytesTotal*100);
var newfilesizeInMb:Number = (bytesLoaded/1024)/1024;
var filesizeInMb:Number = int(newfilesizeInMb*100)/100;
status_mc.progressBar_mc._xscale = pctLoaded;
status_mc.percent_txt.text = pctLoaded+"%";
status_mc.amountUploaded_txt.text = filesizeInMb+" mb";
};
upload_error.text = "test"
listener.onHTTPError = function(file:FileReference, error:Number):Void {
upload_error.text = "HTTPerror: "+error;
}
listener.onIOError = function(file:FileReference):Void {
upload_error.text = "IOerror"
}
listener.onSecurityError = function(file:FileReference, errorString:String):Void {
upload_error.text = "SecurityError: "+errorString
}
listener.onComplete = function(selectedFile:FileReference):Void {
status_mc.status_txt.text = "Complete.";
site_gl_obj.rootRef.goSection_fn("step4");
};
var videoFile:FileReference = new FileReference();
videoFile.addListener(listener);
browse_mc.browse_but.onRelease = function() {
uploadImage();
};
function uploadImage() {
videoFile.browse([{description:"Video Clips", extension:"*.mov;*.mpg;*.mpeg;*.avi;*.wmv;*.flv"}]);
}
And heres a lil php for ya:
var listener:Object = new Object();
listener.onSelect = function(selectedFile:FileReference):Void {
browse_mc.filename_txt.text = selectedFile.name;
var good_fmt:TextFormat = new TextFormat();
good_fmt.color = 0x666666;
browse_mc.status_txt.size_txt.setNewTextFormat(good_fmt);
var newfilesizeInMb:Number = (selectedFile.size/1024)/1024;
var filesizeInMb:Number = int(newfilesizeInMb*100)/100;
browse_mc.status_txt.size_txt.text = filesizeInMb+" mb";
browse_mc.status_txt.type_txt.text = selectedFile.type;
var dateText:String = String(selectedFile.modificationDate);
var strippedDate:Array = dateText.split(dateText.substring(dateText.length-13, dateText.length-5));
browse_mc.status_txt.modified_txt.text = strippedDate[0]+strippedDate[1];
browse_mc.status_txt.alpha_tween = new Tween(browse_mc.status_txt, "_alpha", Regular.easeInOut, browse_mc.status_txt._alpha, 100, .33, true);
browse_mc.status_txt.alpha_tween.onMotionFinished = function() {
if (filesizeInMb<=100) {
browse_mc.status_txt.main_error_txt.text = "";
browse_mc.upload_but.alpha_tween = new Tween(browse_mc.upload_but, "_alpha", Regular.easeInOut, browse_mc.upload_but._alpha, 100, .33, true);
browse_mc.upload_but.alpha_tween.onMotionFinished = function() {
browse_mc.upload_but.onRelease = function() {
browse_mc.upload_but.enabled = false;
browse_mc.browse_but.enabled = false;
status_mc.alpha_tween = new Tween(status_mc, "_alpha", Regular.easeInOut, status_mc._alpha, 100, .33, true);
status_mc.alpha_tween.onMotionFinished = function() {
selectedFile.upload("http://72.47.197.19/dev_AA_Video_Contest/php/uploadVideo.php?id="+_global.user_id+"&videoTitle="+_global.videoTitle+"&videoCategory="+_global.videoCategory+"&videoDescription="+_global.videoDescription+"&videoKeywords="+_global.videoKeywords+"&this=end");
};
};
};
} else {
var error_fmt:TextFormat = new TextFormat();
error_fmt.color = 0xff0000;
browse_mc.status_txt.size_txt.setNewTextFormat(error_fmt);
browse_mc.status_txt.size_txt.text = filesizeInMb+" mb";
browse_mc.status_txt.main_error_txt.text = "The file is too large, chose another or modify your clip to be smaller.";
browse_mc.upload_but.tweenDown = new Tween(browse_mc.upload_but, "_alpha", Regular.easeInOut, browse_mc.upload_but._alpha, 25, .33, true);
browse_mc.upload_but.enabled = false;
}
};
};
listener.onOpen = function(selectedFile:FileReference):Void {
browse_mc.upload_but.tweenDown = new Tween(browse_mc.upload_but, "_alpha", Regular.easeInOut, browse_mc.upload_but._alpha, 25, .33, true);
var newfilesizeInMb:Number = (selectedFile.size/1024)/1024;
var filesizeInMb:Number = int(newfilesizeInMb*100)/100;
status_mc.status_txt.text = "Uploading...";
status_mc.videoTitle_txt.text = _global.videoTitle;
status_mc.totalSize_txt.text = filesizeInMb+" mb";
status_mc.filename_txt.text = selectedFile.name;
status_mc.cancel_but.enabled = true;
status_mc.cancel_but.onRelease = function() {
selectedFile.cancel();
status_mc.status_txt.text = "Cancelled.";
status_mc.cancel_but.onRelease = Void;
status_mc.alpha_tween = new Tween(status_mc, "_alpha", Regular.easeInOut, status_mc._alpha, 25, .33, true);
browse_mc.upload_but.tweenDown = new Tween(browse_mc.upload_but, "_alpha", Regular.easeInOut, browse_mc.upload_but._alpha, 100, .33, true);
browse_mc.upload_but.enabled = true;
browse_mc.browse_but.enabled = true;
status_mc.progressBar_mc._xscale = 0;
status_mc.percent_txt.text = "0%";
status_mc.amountUploaded_txt.text = "";
status_mc.totalSize_txt.text = "";
status_mc.filename_txt.text = "";
};
};
listener.onProgress = function(selectedFile:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
var pctLoaded:Number = Math.round(bytesLoaded/bytesTotal*100);
var newfilesizeInMb:Number = (bytesLoaded/1024)/1024;
var filesizeInMb:Number = int(newfilesizeInMb*100)/100;
status_mc.progressBar_mc._xscale = pctLoaded;
status_mc.percent_txt.text = pctLoaded+"%";
status_mc.amountUploaded_txt.text = filesizeInMb+" mb";
};
upload_error.text = "test"
listener.onHTTPError = function(file:FileReference, error:Number):Void {
upload_error.text = "HTTPerror: "+error;
}
listener.onIOError = function(file:FileReference):Void {
upload_error.text = "IOerror"
}
listener.onSecurityError = function(file:FileReference, errorString:String):Void {
upload_error.text = "SecurityError: "+errorString
}
listener.onComplete = function(selectedFile:FileReference):Void {
status_mc.status_txt.text = "Complete.";
site_gl_obj.rootRef.goSection_fn("step4");
};
var videoFile:FileReference = new FileReference();
videoFile.addListener(listener);
browse_mc.browse_but.onRelease = function() {
uploadImage();
};
function uploadImage() {
videoFile.browse([{description:"Video Clips", extension:"*.mov;*.mpg;*.mpeg;*.avi;*.wmv;*.flv"}]);
}
Please help a sailor in need.