FR 的上传功能添加,因为 fr 的上传非常的奇特,和正常的上传不一样。只能前后台配合。
而且后台要关闭 multipart 的功能, 否则后台读取不到
正常情况下的逻辑
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>File Upload</title>
</head>
<body>
<h1>Upload a File</h1>
<input type="file" id="fileInput">
<button onclick="uploadFile()">Upload</button>
<script>
function uploadFile() {
const fileInput = document.getElementById('fileInput');
const file = fileInput.files[0];
if (!file) {
alert("Please select a file first!");
return;
}
const formData = new FormData();
formData.append("file", file);
const xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:8080/upload", true);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
alert("File uploaded successfully!");
}
};
xhr.send(formData);
}
</script>
</body>
</html>
application.properties 文件
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=2MB
spring.servlet.multipart.max-request-size=2MB
上面这种方式,请求是这样的
FR 的逻辑
fr 有一个文件 noswfupload.js
文件内容如下
这种方式会导致请求变成这样
从而后台接受时,只能通过对应的方案,即
ParseResult parseResult = PostParseUtils.parse(inputStream, req.getCharacterEncoding());
来获取传递的值。