❶ 界面我是用flex 調用 FileReference 的upload方法發送到伺服器上(java) 伺服器返回值,我一直都找不到方
flex端上傳文件後,java端是不能返回值的,你只能通過為FileReference設置事件來確定其是否已經上傳成功。
如:
var request:URLRequest = new URLRequest();
request.data = sendVars; // 傳往後台的值
request.url = _fileUrl; // 後台地址
request.method = URLRequestMethod.GET; // GET方式傳值
var _refUploadFile:FileReference = new FileReference();
_refUploadFile = listFiles.selectedItem.file;
_refUploadFile.addEventListener(ProgressEvent.PROGRESS, onUploadProgress);
_refUploadFile.addEventListener(Event.COMPLETE, onUploadComplete);
_refUploadFile.addEventListener(IOErrorEvent.IO_ERROR, onUploadIoError);
_refUploadFile.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onUploadSecurityError);
_refUploadFile.upload(request, "file", false);
當文件上傳過程中會調用onUploadProgress,用於實現進度條;
當一個文件上傳完成後調用onUploadComplete,可根據上傳文件的個數(多個文件上傳)選擇繼續上傳還是其他處理;
當文件由於IO出錯,則為onUploadIoError;
當文件由於Security出錯,則為onUploadSecurityError
❷ flex上傳文件
拒我所知,flex上是通過FileReference這個類實現上傳而不是file,恰恰FileReference里沒有一個指定文件路徑的方法,如果你想指定文件路徑實現上傳那是不可能的,除非你開發的是air桌面運用程序就可以指定文件路徑實現上傳。
❸ flex上傳通過js 獲取到文件路徑
flex上傳的是文件流,你應該在服務端接到這個位元組流 將其創建成文件對象 並保存在伺服器本地磁碟中獲得路徑返回給前台,如果你們用node js做的伺服器 也是同理 一定有處理流的方法,關鍵是你要理解flex 通過onload載入成功後在成功事件對象中取得的是 這個文件的信息 包括 位元組流啊 寬高啊 名字啊等等。不知道能否讓你理解。
❹ 如何通過flex上傳大文件
樓上的都誤解了樓主的意思 你們說的是後續工作 就是FileReference.load()完成之後的工作 現在是無法回load()大文件 我試過500M的 沒問題答 再大一些就內存不夠 可以更改flex內存分配 可是不是好的辦法 求高人指點