HttpURLConnection form-data 上传文件 用java springvc接收
时间: 2023-10-12 10:21:30 浏览: 91
利用HttpUrlConnection 上传 接收文件的实现方法
好的,针对你的问题,我可以给你提供一些思路和代码示例。
首先,你需要使用`HttpURLConnection`来实现文件上传。以下是一个上传文件的示例代码:
```java
URL url = new URL(uploadUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
outputStream.writeBytes("--" + boundary + "\r\n");
outputStream.writeBytes("Content-Disposition: form-data; name=\"file\";filename=\"" + fileName + "\"" + "\r\n");
outputStream.writeBytes("Content-Type: " + mimeType + "\r\n");
outputStream.writeBytes("\r\n");
outputStream.write(fileBytes);
outputStream.writeBytes("\r\n");
outputStream.writeBytes("--" + boundary + "--" + "\r\n");
outputStream.flush();
outputStream.close();
```
在上面的代码中,`uploadUrl`是上传文件的接口地址,`boundary`是分隔符,`fileName`是文件名,`mimeType`是文件类型,`fileBytes`是文件的二进制数据。
接下来,你需要在Spring MVC中编写文件上传接口。以下是一个接收文件的示例代码:
```java
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ModelAndView upload(@RequestParam("file") MultipartFile file) throws IOException {
String fileName = file.getOriginalFilename();
byte[] fileBytes = file.getBytes();
// do something with the file bytes
return new ModelAndView("upload_success");
}
```
在上面的代码中,`@RequestParam("file")`注解表示接收名为`file`的文件参数,并且使用`MultipartFile`类型来接收文件数据。`getOriginalFilename()`方法获取文件名,`getBytes()`方法获取文件二进制数据。
希望以上代码能够帮助到你!
阅读全文