通过Jquery上传文件后,如何用servlet获取文件并保存在服务器
时间: 2024-03-14 20:46:52 浏览: 92
要通过Jquery上传文件并在Servlet中获取并保存文件,可以按照以下步骤进行:
1. 在Jquery中,使用FormData对象来构建表单数据,包括要上传的文件和其他参数。例如:
```
var formData = new FormData();
formData.append('file', $('#fileInput')[0].files[0]);
formData.append('param1', 'value1');
formData.append('param2', 'value2');
```
2. 使用Jquery的ajax方法发送POST请求,将FormData对象作为参数传递,并设置processData和contentType为false。例如:
```
$.ajax({
url: 'UploadServlet',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(response){
console.log(response);
}
});
```
3. 在Servlet中,使用request.getPart()方法获取上传的文件,并使用IO流将文件保存到服务器上的指定位置。例如:
```
Part filePart = request.getPart("file");
String fileName = getFileName(filePart);
InputStream fileContent = filePart.getInputStream();
FileOutputStream outputStream = new FileOutputStream("C:/uploads/" + fileName);
int read = 0;
byte[] bytes = new byte[1024];
while ((read = fileContent.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
outputStream.close();
```
其中,getFileName()方法用于获取上传的文件名。
阅读全文