gpt4 book ai didi

java - spring中如何获取项目目录的路径?

转载 作者:太空宇宙 更新时间:2023-11-04 11:14:24 24 4
gpt4 key购买 nike

我正在尝试使用我的 jsp 表单上传图像文件。我能够成功上传它,但不在我想要的目录中。

@Controller
public class ProductController {
private Path path;

@Autowired
private ProductService productService;

@RequestMapping(value="/admin/addProduct")
public String addProduct() {
return "addProduct";
}

@RequestMapping(value="/admin/addProduct", method= RequestMethod.POST)
public String addNewProduct(@ModelAttribute("product") Product products,
BindingResult result,HttpServletRequest request,@RequestParam("prodImage")
MultipartFile file) {
System.out.println("adding product");
System.out.println(path);
if(result.hasErrors()) {
return "addProduct";
}
productService.saveProduct(products);

MultipartFile productImage = file;
String rootDir = request.getSession().getServletContext().getRealPath("/");
System.out.println(rootDir);
path = Paths.get(rootDir+"//WEB-INF//resources//images//"+products.getId()+
".jpg");
System.out.println("path :"+path);
if(productImage != null && !productImage.isEmpty()) {
System.out.println("inside not null product image");
try {
productImage.transferTo(new File(path.toString()));
System.out.println("after saving image");

}catch (Exception ex) {
ex.printStackTrace();
throw new RuntimeException("product image saving failed",ex);
}
}

return "redirect:/admin/productInventory";
}

@RequestMapping("/admin/productInventory")
public String productInventory() {
return "productInventory";

}

}

这是正在打印的当前目录位置:-

/mnt/7A46BE1454633621/eclipseworkspace/ecommerce/target/ecommerce/

path :/mnt/7A46BE1454633621/eclipseworkspace/ecommerce/target/ecommerce/
WEB-INF/resources/images/5.jpg

我想将我的图像上传到 WEB-INF/resources/images 中。我该怎么做?

enter image description here

最佳答案

您需要检查类路径是否设置,然后您可以使用classpath:/WEB-INF/resources/images/路径来上传和下载图像。

关于java - spring中如何获取项目目录的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45647393/

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