Java后端读取的文件如何传输给前端并使用Ajax取出并赋值给文本框请使用springmvc举例
- 后端读取文件
在SpringMVC中,可以使用MultipartFile类型的参数来接收前端传来的文件。例如:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file) {
// 进行文件读取操作
String content = FileUtils.readFileToString(file);
return content;
}
其中,FileUtils是一个自定义的工具类,用于将文件内容读取为字符串。
- 将文件内容传输给前端
在控制器中,可以将文件内容作为字符串返回给前端。例如:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file) {
// 进行文件读取操作
String content = FileUtils.readFileToString(file);
return content;
}
- 使用Ajax取出并赋值给文本框
在前端页面中,可以使用Ajax来向后端请求文件内容,并将内容赋值给文本框。例如:
$.ajax({
url: '/upload',
type: 'POST',
data: formData,
contentType: false,
processData: false,
success: function (data) {
$("#textArea").val(data);
},
error: function () {
alert("文件上传失败!");
}
});
其中,formData是一个FormData类型的对象,用于包装前端传来的文件。
- 完整示例代码
后端控制器:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file) {
// 进行文件读取操作
String content = FileUtils.readFileToString(file);
return content;
}
前端页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传示例</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<form id="form">
<input type="file" id="fileInput" name="file"/>
<button type="submit">上传</button>
</form>
<textarea id="textArea"></textarea>
<script>
$(document).ready(function () {
$("#form").submit(function (event) {
event.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '/upload',
type: 'POST',
data: formData,
contentType: false,
processData: false,
success: function (data) {
$("#textArea").val(data);
},
error: function () {
alert("文件上传失败!");
}
});
});
});
</script>
</body>
</html>
原文地址: https://www.cveoy.top/t/topic/Myp 著作权归作者所有。请勿转载和采集!