如何将MultipartFile保存在本地
时间: 2023-03-19 21:22:25 浏览: 407
要将MultipartFile保存在本地,您可以按照以下步骤进行操作:
1. 获取MultipartFile的字节数据:可以通过调用MultipartFile的getBytes()方法来获取其字节数据。
2. 创建本地文件:可以使用Java的File类来创建一个本地文件对象,例如:File localFile = new File("文件路径")。
3. 将MultipartFile的字节数据写入本地文件:可以使用Java的文件输出流(FileOutputStream)将MultipartFile的字节数据写入本地文件中。例如:
```
byte[] bytes = multipartFile.getBytes();
FileOutputStream fos = new FileOutputStream(localFile);
fos.write(bytes);
fos.close();
```
这样就可以将MultipartFile保存在本地文件中了。
相关问题
将MultipartFile保存到本地
要将MultipartFile保存到本地,可以使用Java中的FileUtils类或者OutputStream和InputStream流。下面是使用FileUtils类的示例代码:
```java
public void saveFileByDirectory(MultipartFile file) {
try {
// 将文件保存在服务器目录中
// 文件名称
String uuid = UUID.randomUUID().toString();
// 得到上传文件后缀
String originalName = file.getOriginalFilename();
String ext = "." + FilenameUtils.getExtension(originalName);
// 新生成的文件名称
String fileName = uuid + ext;
// 复制文件
File targetFile = new File("D:\\sim-file\\", fileName);
FileUtils.writeByteArrayToFile(targetFile, file.getBytes());
} catch (IOException e) {
logger.error("保存文件到服务器(本地)失败", e);
}
}
```
另外,使用OutputStream和InputStream流的示例代码如下:
```java
public static void saveFileByStream(MultipartFile file) {
OutputStream os = null;
InputStream inputStream = null;
String fileName = null;
try {
inputStream = file.getInputStream();
fileName = file.getOriginalFilename();
log.info("fileName=" + fileName);
} catch (IOException e) {
e.printStackTrace();
}
try {
String path = "F:\\test\\";
// 2、保存到临时文件
// 1K的数据缓冲
byte[] bs = new byte[1024];
// 读取到的数据长度
int len;
// 输出的文件流保存到本地文件
File tempFile = new File(path);
if (!tempFile.exists()) {
tempFile.mkdirs();
}
os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
// 开始读取
while ((len = inputStream.read(bs)) ! -1) {
os.write(bs, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 完毕,关闭所有链接
try {
os.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
MultipartFile保存到本地
可以使用以下代码将MultipartFile保存到本地:
```java
public void saveFile(MultipartFile file) throws IOException {
String fileName = file.getOriginalFilename();
String filePath = "/path/to/save/" + fileName;
File dest = new File(filePath);
file.transferTo(dest);
}
```
其中,`file.getOriginalFilename()`获取上传文件的原始文件名,`/path/to/save/`是文件保存的路径,可以根据实际情况修改。