私はSpring MVCを使用してファイルのアップロードに取り組んでいますが、FirefoxとChromeでは正常に動作しますが、IEではアップロードに失敗しました..以下は、fileuploader関数を含む私のjspページです。
<div id="file-uploader-demo1" style="float: left;padding-top: 10px"></div>
</div>
<script>
function createUploader(){
var uploader = new qq.FileUploader ({
element: document.getElementById('file-uploader-demo1'),
action: '/Flas_ _/commu-____/insertFile;jsessionid=${sessionId}',
headers: {'Content-type':'multipart/form-data'},
multipleFileUpload: false,
debug: true
});
}
window.onload = createUploader;
</script>
これが私のjspページで、FileUploader.jsファイルを含むiamが、アクションタグが以下に示すそれぞれのコントローラーを呼び出します..
@RequestMapping(value = "/insertFile", method = RequestMethod.POST)
public String fileUpload(@RequestParam("qqfile") String filename1,ModelMap map,
HttpServletRequest request,HttpServletResponse response) throws IOException {
PrintWriter writer = null;
InputStream is = null;
FileOutputStream fos = null;
try {
writer = response.getWriter();
} catch (IOException ex) {
//log(OctetStreamReader.class.getName() + "has thrown an exception: " + ex.getMessage());
}
String filename = request.getHeader("X-File-Name");
this.setFILEUPLOAD(filename);
try {
is = request.getInputStream();
fos = new FileOutputStream(new File("F:/images/" + filename));
IOUtils.copy(is, fos);
response.setStatus(response.SC_OK);
writer.print("{success: true}");
} catch (FileNotFoundException ex) {
response.setStatus(response.SC_INTERNAL_SERVER_ERROR);
writer.print("{success: false}");
// log(OctetStreamReader.class.getName() + "has thrown an exception: " + ex.getMessage());
}catch (IOException ex) {
response.setStatus(response.SC_INTERNAL_SERVER_ERROR);
writer.print("{success: false}");
// log(OctetStreamReader.class.getName() + "has thrown an exception: " + ex.getMessage());
} finally {
try {
fos.close();
is.close();
} catch (IOException ignored) {
}
}
writer.flush();
writer.close();
return "do-nothing";
}
ただし、CHROME と FIREFOX では問題なく動作し、ファイルをロケール ドライブに保存します。しかし、IE 9 では動作しません。どうすればよいでしょうか。
disの解決策はありますか?助けてくださいありがとう。