MultipartFile 保存文件到本地 自动创建文件夹
时间: 2023-10-17 18:31:56 浏览: 109
您可以通过以下步骤将MultipartFile保存到本地并自动创建文件夹:
1. 获取文件的字节数组:使用 `MultipartFile` 的 `getBytes()` 方法获取文件的字节数组。
2. 定义保存文件的路径:确定文件保存的路径和文件名。例如,您可以定义一个基础路径和一个根据时间戳生成的唯一文件名。
3. 创建目录:使用 Java 的 `File` 类的 `mkdirs()` 方法来创建目录。您可以使用基础路径和目录名称来构建完整的目录路径。
4. 创建文件:使用 `File` 类的 `createNewFile()` 方法在指定目录下创建新的空文件。
5. 写入文件内容:使用 Java 的 `FileOutputStream` 类将字节数组写入新创建的文件中。
下面是一个示例代码,演示了上述步骤的实现:
```java
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Paths;
import java.time.Instant;
public class FileUploader {
public static void saveFile(MultipartFile multipartFile) throws IOException {
byte[] fileBytes = multipartFile.getBytes();
String baseDirectory = "/path/to/base/directory";
String directoryName = Instant.now().toString(); // 可以根据需求使用其他方式生成目录名
String fileName = "example.txt";
String directoryPath = Paths.get(baseDirectory, directoryName).toString();
File directory = new File(directoryPath);
directory.mkdirs(); // 创建目录及其父目录
String filePath = Paths.get(directoryPath, fileName).toString();
File file = new File(filePath);
file.createNewFile(); // 创建新文件
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(fileBytes);
outputStream.close();
}
}
```
请注意,在实际使用中,您可能需要根据自己的需求进行一些修改,例如更改基础路径、文件名生成方式等。