gpt4 book ai didi

java - 如何在java中使用spring解压上传的zip文件

转载 作者:行者123 更新时间:2023-12-03 02:32:03 26 4
gpt4 key购买 nike

我正在从屏幕上传 zip 文件夹,并使用 MultipartFile 将其发送到 Controller 。我正在尝试提取上传的文件夹并将提取的文件夹保存在某个特定位置。我尝试过,但没有得到...有人可以建议我吗?这是我的代码

 public  String test(
@RequestParam("datafile") MultipartFile file
{

String source =file.getOriginalFilename();

//source variable will containthe value as "zip_Folder.zip";
String destination = "D:\\destination";

try {
ZipFile zipFile = new ZipFile(source);
zipFile.extractAll(destination);

} catch (ZipException e) {
e.printStackTrace();
}
}

最佳答案

必填zip4jApache Commons-IO依赖项:

@PostMapping("/upload")
public String add(@RequestParam("file") MultipartFile file) throws IOException {

/**
* save file to temp
*/
File zip = File.createTempFile(UUID.randomUUID().toString(), "temp");
FileOutputStream o = new FileOutputStream(zip);
IOUtils.copy(file.getInputStream(), o);
o.close();

/**
* unizp file from temp by zip4j
*/
String destination = "D:\\destination";
try {
ZipFile zipFile = new ZipFile(zip);
zipFile.extractAll(destination);
} catch (ZipException e) {
e.printStackTrace();
} finally {
/**
* delete temp file
*/
zip.delete();
}

return "redirect:/";
}

除此之外,最好的方法是将“D:\destination”等常量放入属性文件中,并通过 @Value 注入(inject)

@Value("${destination.dir}")
private String destination;

关于java - 如何在java中使用spring解压上传的zip文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39851296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com