0
我有一個Tapestry Web應用程序。 要實現一個支持Ajax文件上傳,我使用如下所示的簡單的JavaScript(我已經評估現有的Tapestry對Ajax的上傳的解決方案,但不能讓他們的工作):Ajax文件上傳在掛毯5.4
var fileSelect = document.getElementById('file-select');
var files = fileSelect.files;
var formData = new FormData();
var file = files[0];
formData.append("file", file, file.name);
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
console.log(xmlhttp.responseText);
}
}
xmlhttp.open("POST", "FileUpload",true);
xmlhttp.send(formData);
}
而在的FileUpload頁,我有:
@Inject
private Request request;
public Object onActivate() {
String fileName = request.getParameter("file");
String path = "c:\\tapestry_temp";
File file = new File(path, fileName);
if (file.exists()) {
System.out.println("File found");
} else {
System.out.println("File not found");
}
}
....
現在,當我上傳文件時,JavaScript是沒有問題的執行,並在的FileUpload頁面中,文件名具有正確的價值(NAM e的上傳文件),但我不知道如何訪問上傳的文件?它存儲在哪裏?
PS:在的AppModule(ContributeApplicationDefaults),我有事先
configuration.add(UploadSymbols.REPOSITORY_LOCATION,"c:\\tapestry_temp");
感謝。