springmvc檔案上傳404、500之類的問題
1.jar包忘記匯入或者匯入的jar包不全。報啥錯自己去查。
2.form表單提交時用的是post,因為get是傳輸資料量小的,如果你的檔案太大,就有可能失敗。所以用post好,post封裝成報文的形式,對使用者不可見,更加安全。會報404的錯。
3.form表單的路徑出錯比如:action="upload.do",但你把它寫成action="upload2.do",如果是這個,會報404的錯。
4.在spring-mvc.xml裡面配置:檔案上傳不能少
<!-- 檔案上傳 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8"/>
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="10000000"/>
</bean>
特別是上面的value值要注意,3個0是kb,6個0是M,上面的是10M,也就是上傳的不能超過10M。不然直接報500這個錯。
5.上傳時總該有路徑,就是上傳的地方,必須仔細檢查你上傳的地方是否有你想要的資料夾,看仔細了。這個報錯很明顯,直接就是找不到路徑.
@RequestMapping("/upload")
public String upload(@RequestParam("file1") MultipartFile file1,HttpServletRequest request)throws Exception{
String filePath=request.getServletContext().getRealPath("/");
System.out.println("wwwwwww11111111"+filePath);
file1.transferTo(new File((filePath)+"upload/"+file1.getOriginalFilename()));
return "redirect:success.html";
}
file1.transferTo(new File((filePath)+"upload/"+file1.getOriginalFilename()));這句話就是用來確定你上傳檔案的地址的,放在那個檔案。比如上面的
"upload/"
這個代表一個資料夾,少了就不行。6.警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:spring002' did not find a matching property.
這上面的這個source警告可以不用管。不影響,有的人說把伺服器停了(stop),再把專案移除(remove),雙擊伺服器進入伺服器配置頁面,把server options下的Publish module contexts to separate XML files勾上就可以了。但對有的人不行,那就不管他,不影響的,有警告照樣可以跑。
7.大約就這些錯誤了吧。有問題可以在評論區留言,不要忘記點贊哦!