[英]HTTP Status 404 Error when Running Upload File Code
I am getting the error "HTTP Status 404 - Not Found" at the point where I click the Submit button. 单击提交按钮时出现错误“ HTTP状态404-找不到”。 The path given seems to be correct.
给出的路径似乎是正确的。 Is there anything about this code that would cause that error to occur?
关于此代码,是否有任何会导致该错误发生的事情?
<form name="uploadForm" action="index.jsp" method="POST" enctype="multipart/form-data">
<%
String saveFile="";
String contentType = request.getContentType();
if((contentType != null)&&(contentType.indexOf("multipart/form-data") >= 0)){
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
while(totalBytesRead < formDataLength){
byteRead = in.read(dataBytes, totalBytesRead,formDataLength);
totalBytesRead += byteRead;
}
String file = new String(dataBytes);
saveFile = file.substring(file.indexOf("filename=\"") + 10);
saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
int lastIndex = contentType.lastIndexOf("=");
String boundary = contentType.substring(lastIndex + 1,contentType.length());
int pos;
pos = file.indexOf("filename=\"");
pos = file.indexOf("\n", pos) + 1;
pos = file.indexOf("\n", pos) + 1;
pos = file.indexOf("\n", pos) + 1;
int boundaryLocation = file.indexOf(boundary, pos) - 4;
int startPos = ((file.substring(0, pos)).getBytes()).length;
int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
File ff = new File("C:/Users/JBG/Desktop/SampleFile2.docx"+saveFile);
try{
FileOutputStream fileOut = new FileOutputStream(ff);
fileOut.write(dataBytes, startPos, (endPos - startPos));
fileOut.flush();
fileOut.close();}catch(Exception e){out.println(e);}
}
%>
<input type="file" name="file" value="" />
<input type="submit" value="Submit" name="submit" />
</form>
As you are getting 404 error message. 当您收到404错误消息时。 This error message indicate that
此错误消息表明
The 404 or Not Found error message is a HTTP standard response code indicating that the client was able to communicate with a given server, but the server could not find what was requested.
The web site hosting server will typically generate a "404 Not Found" web page when a user attempts to follow a broken or dead link; hence the 404 error is one of the most recognizable errors users can find on the web.[1]
So there is a little mistake while file operations correct below line. 因此,在文件操作纠正以下行时会出现一些错误。
in your code 在你的代码中
File ff = new File("C:/Users/JBG/Desktop/SampleFile2.docx"+saveFile);
Replace below syntax. 替换下面的语法。
File ff = new File("C:/Users/JBG/Desktop/directory_name/"+saveFile);
OR 要么
File ff = new File("C:/Users/JBG/Desktop/"+saveFile);
You action tag should point to a valid endpoint servlet /webservice . 您的操作标记应指向有效的端点servlet / webservice。 It looks like you are pointing it to a jsp file.
看来您将其指向一个jsp文件。 That said, mixing presentation logic and server side logic was done in the early 2000s.
也就是说,在2000年代初就完成了将表示逻辑和服务器端逻辑混合在一起的工作。 Things have improved a lot over the past decade.
在过去的十年中,情况有了很大的改善。 My recommendation would be to look at Jersey + Twitter Bootstrap or even Play for implementing the stuff you are doing.
我的建议是看Jersey + Twitter Bootstrap甚至Play来实现您正在做的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.