您的位置:首页 > 编程语言 > Java开发

javaweb 基于springMVC实现文件上传

2018-01-02 00:00 295 查看

1. 添加依赖包maven

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>


2. 配置注入

<!-- 这里申明的id必须为multipartResolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!--配置上传文件-->
<property name="defaultEncoding" value="utf-8"/><!--默认字符编码-->
<property name="maxUploadSize" value="10485760000"/><!--上传文件大小-->
<property name="maxInMemorySize" value="4096"/><!--内存中的缓存大小-->
</bean>


3. html

<form target="hidden_frame" id="uploadFromId" enctype="multipart/form-data">
<input  id="logFileUpload" type="file" name="logFile">
<input  id="param1" type="text" name="param1" placeholder="请输入要传递的参数1">
<input  id="param2" type="text" name="param2" placeholder="请输入要传递的参数2">
</form>
<button id="fileUploadBtn" >上传</button>


4. js ajax

<script src="/js/jquery-3.2.1.js"></script>
<script>
$('#fileUploadBtn').click(function () {

$('#param1').val('传输参数1');
$('#param2').val('传输参数2');

var formobj = document.getElementById("uploadFromId");

var formdata = new FormData(formobj);
$.ajax({
url: "logFile.do",
type: 'POST',
data: formdata,
dataType: "text",
contentType:false,
processData:false
}).done(function(result){
alert(result);
}).fail(function(err){
alert(err);
});

});
</script>


5. java后台

@RequestMapping(value="logFile.do",method=RequestMethod.POST)
@ResponseBody
public String logFile(@RequestParam("logFile")MultipartFile logFile,@RequestParam("param1")String param1,@RequestParam("param2")String param2) throws IOException {

String filename = logFile.getOriginalFilename();//获取上传文件的文件名
InputStream file = null;
try {
file = logFile.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
InputStreamReader inputStreamReader = new InputStreamReader(file,"utf-8");
BufferedReader bf = new BufferedReader(inputStreamReader);
String newLine = "";
while((newLine = bf.readLine()) != null){
if(newLine.equals("")){

}else {
System.out.print("\n newLine = "+newLine);
}

}
System.out.print("\n\n\n filename  = "+filename);
System.out.print("\n\n\n param1  = "+param1);
System.out.print("\n\n\n param2  = "+param2);
return "上传成功";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息