SpringMVC MultiiprtFileを使って非同期アップロード方法を紹介します。
目的は非同期アップロードを実現することです。
1.pom依存を追加
pom依存を追加します。ajaxではデータをjson形式に変えて転送する必要があるので、JSON jarパッケージを追加します。
appication Contect.xmlには追加が必要です。
フロントページ:
1.pom依存を追加
pom依存を追加します。ajaxではデータをjson形式に変えて転送する必要があるので、JSON jarパッケージを追加します。
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.37</version>
</dependency>
2.プロファイルの変更appication Contect.xmlには追加が必要です。
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<property name="maxUploadSize" value="5400000"></property>
</bean>
3.フロントエンドページにフロントページ:
<form id="uploadForm" name="uploadForm"
enctype="multipart/form-data">
<input name="messageContent" value=" ">
<label> </label> <input type="file" name="file">
<button class="btn" type="button" id="doSave"> </button>
</form>
</body>
</html>
加入が必要なJS:
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
JS方法:
<script>
$(function() {
$("#doSave")
.click(
function() {
$("#uploadForm")
.ajaxSubmit(
{
type : 'post',
url : "/tmpInfo/method2.do",
//data: // , 。 controller @RequestParam String str 。
contentType : "application/x-www-form-urlencoded; charset=utf-8",
success: function(data) {
// data , json
var obj = JSON.parse(data);
if(obj.flag==true){
alert(" ");
}else{
alert("error");
}
},
error: function (data)//
{
alert(" ");
}
});
});
});
controlerコード:
@RequestMapping("/method2")
@ResponseBody
public String method2(@RequestParam MultipartFile file,
@RequestParam String messageContent ) {
// @RequestParam ,
JSONObject json =new JSONObject();
System.out.println(messageContent);
String orgiginalFileName = "";
int m =new Random().nextInt(100)+10;
System.out.println("m="+m);
String path="D:/"+m+"b.txt";
try {
File newFile =new File(path);
file.transferTo(newFile);
String fileName = file.getName();
InputStream inputStream = file.getInputStream();
String content = file.getContentType();
orgiginalFileName = file.getOriginalFilename();
System.out.println("fileName: "+fileName+", inputStream: "+ inputStream
+"\r
content: "+content+", orgiginalFileName: ="+ orgiginalFileName
+"\r
projectName: ");
} catch (IOException e) {
e.printStackTrace();
}
json.put("flag", true);
json.put("message", "success");
System.out.println(json.toJSONString());
return json.toJSONString();
}
以上、SpringMVCについてMultiiprtFileを使って、非同期アップロード方法を紹介した内容を全部共有しました。このサイトの他のテーマに目を通してください。何か質問やアドバイスがありましたら、いつでもメッセージを残してください。私達のウェブサイトに対してみんなが多く支持することを望みます。