springboot+ajax post上传图片或文件
在Spring Boot中处理AJAX POST请求上传的文件,你可以使用@PostMapping
注解和MultipartFile
参数。以下是一个简单的例子:
Spring Boot Controller:
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "文件为空";
}
// 这里可以添加保存文件的逻辑
String originalFilename = file.getOriginalFilename();
// 保存文件到服务器...
return "文件上传成功: " + originalFilename;
}
}
AJAX请求示例:
$(document).ready(function() {
$('#uploadForm').submit(function(e) {
e.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
url: '/upload',
type: 'POST',
data: formData,
contentType: false,
processData: false,
success: function(response) {
console.log(response);
},
error: function() {
console.log('上传失败');
}
});
});
});
HTML表单:
<form id="uploadForm" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
确保你的Spring Boot应用程序已经配置了Multipart解析器,通常Spring Boot会自动配置。
以上代码实现了一个简单的文件上传功能,通过AJAX方式发送POST请求到Spring Boot后端,后端接收文件并可以对其进行处理(例如保存到服务器)。
评论已关闭