Base64Encoder를 사용하여 flex를 사용하여 파일을 업로드합니다. 하지만 파일 크기가 1MB를 넘으면 HTTPService에 데이터를 넣을 때 param으로 오류가 표시됩니다. 이걸 도와주세요. 미리 감사드립니다.FLEX에서 파일 업로드가 1MB보다 큰 파일을 허용하지 않습니다.
개 표시 다음과 같은 오류 : 오류 : [의해 IOErrorEvent 유형 = "IO 오류"거품 = false를 취소 할 수 = 거짓의 EventPhase = 2 텍스트 = "오류 # 2032 : 스트림 오류
다음과 같이 내가 쓴기능입니다. : ..
uploadImageService.method = 'POST';
:
protected function uploadButton_clickHandler(event:Event):void{
try{
var uniqueRowId:String=parentApplication.dg.dataProvider[parentApplication.dg.selectedIndex].UNIQUEROWID;
var propObj:Object = parentApplication.propertyDict[uniqueRowId];
fileRef = propObj["fileRef_"+uniqueRowId];
fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,onUploadComplete);
fileRef.addEventListener(IOErrorEvent.IO_ERROR,onIOError);
var selectedAttachment : String = propObj["selectedObjectStr_"+uniqueRowId];
var UPLOAD_URL:String="/MDOSF/Customer_tab.do";
var ext:String = selectedAttachment.substr(selectedAttachment.lastIndexOf("."), selectedAttachment.length);
ext = ext.toLowerCase();
var imgByteArr:ByteArray = event.target.data;
var encoder:Base64Encoder = new Base64Encoder();
var totalBytes:uint = imgByteArr.length;
var limitBytes:String = String((totalBytes/1024)/1024);
var numericBytes:Number =Number(limitBytes);
var decimal:String = numericBytes.toFixed(2);
if(Number(decimal) > 1){
//Alert.show("Cannot upload file with size more than 1 MB","Message");
//return;
}
encoder.encodeBytes(imgByteArr);
var params:Object = new Object();
params.fileName = encodeURIComponent(selectedAttachment);
params.ext = ext;
params.file_data = encodeURIComponent(encoder.flush());
params.action = "saveAttachment";
params.GRID_PARAM = "fromGrid";
params.selectedFile = encodeURIComponent(selectedAttachment);
params.gridName = parentApplication.fieldName;
uploadImageService.url = UPLOAD_URL;
uploadImageService.send(params);
}catch(err:Error){
}
}
은'uploadImageService' 당신의 HTTPService입니까? – CyanAngel
예. HTTPService. – akki
서버 측에서이 요청을 처리하기 위해 무엇을 사용하고 있습니까? – CyanAngel