0
我使用gwtupload.client.MultiUploader
上傳GWT服務器上的zip文件。然後在服務器上,我將zip文件轉換爲要插入數據庫的字節數組。結果數據庫中50%的文件被破壞。這裏有一點我的代碼。GWT服務器上傳文件損壞
@UiField(provided = true)
MultiUploader muplDef;
public MyClass(){
muplDef = new MultiUploader();
muplDef.setValidExtensions("zip");
muplDef.addOnFinishUploadHandler(onFinishUploaderHandler);
muplDef.addOnCancelUploadHandler(onCancelUploaderHander);
}
private final IUploader.OnFinishUploaderHandler onFinishUploaderHandler = new IUploader.OnFinishUploaderHandler() {
@SuppressWarnings("incomplete-switch")
@Override
public void onFinish(IUploader uploader) {
switch (uploader.getStatus()) {
case SUCCESS:
attachZip = true;
}
}
};
private final IUploader.OnCancelUploaderHandler onCancelUploaderHander = new IUploader.OnCancelUploaderHandler() {
@Override
public void onCancel(IUploader uploader) {
attachZip = false;
}
};
字節數組
String fileName = "D:\1.zip";
File f = new File(fileName);
byte[] edocBinary = new byte[(int) f.length()];
RandomAccessFile ff;
try {
ff = new RandomAccessFile(f, "r");
ff.readFully(edocBinary);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
我的問題是:文件可以correpted即使我有OnFinishUploaderHandler和案例:成功?還有其他的情況像錯誤,也許這種情況下會檢查文件?或者問題是轉換爲字節數組?你能提供一些建議嗎,謝謝。
在你的鏈接中,我發現下面的「BLOB:65,535字節(64 KB)」。我的表格包含BLOB列,但我的zip文件的最大大小爲10MB。也許我應該使用MEDIUMBLOB類型? – olgacosta 2015-03-03 06:31:39
是的MEDIUMBLOB會很好 – outellou 2015-03-03 11:24:51
我發現100%是第一步的問題。 GwtUpload傳輸錯誤的文件。也許服務器很慢。你能否給我提供一些建議:gwt檢查傳輸數據的散列,或者你可以給我一些信息,我可以在GWT中瞭解更多關於上傳數據的信息? – olgacosta 2015-03-18 12:31:50