繁体   English   中英

如何用Spring注入网络文件资源?

[英]How to inject a network file resource with Spring?

我怎么能告诉Spring该资源应该是一个网络资源,并让它相应地自动装配?

@Value("\\MY-MACHINE\thefile.txt")
private Resource file;

结果:

Caused by: java.io.FileNotFoundException: class path resource [MY-MACHINE\thefile.txt] cannot be resolved to URL because it does not exist

我假设你的应用程序部署在Windows上。 我没有任何Windows工作站来测试它,但据我记得这是它的方式:

  • 创建指向您的网络位置的符号链接:

     mklink /DC:\\my-machine \\\\MY-MACHINE\\ 
  • 用绝对路径引用这个符号链接:

@Value("file:///C:/my-machine/thefile.txt")
private Resource file;

似乎没有人知道,我发现使用双斜线是必要的,如:

@Value("\\\\MY-MACHINE\\thefile.txt")
private Resource file;

在某些情况下,您可能需要一个file:语句,例如: file:\\\\\\\\MY-MACHINE\\\\thefile.txt"

这是使用classpath的最简单方法

import org.springframework.core.io.Resource;

@Value("classpath:<path to file>")
private Resource file;

访问Windows共享上的文件无法直接使用。 有关如何执行此操作的详细信息,请参阅使用java连接到Windows中的共享文件夹

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM