在我的Web应用程序(Spring REST)中,我有一个API将文件上传到服务器。我有另一个API,它将文件URL检索到客户端。
file = new File(fileName);
URL url = file.toURI().toURL();
InetAddress ip = InetAddress.getLocalHost();
String urls="file://"+ip+url.toString();
结果我得到了文件://192.168.3.37/D:/Anoop/pic/2unvvhlacq5fh09tokr7i25cvj.jpg作为网址。 这在本地工作正常,当应用程序托管在服务器url显示文件未找到时。 请指教。
答案 0 :(得分:1)
好的,假设您的服务器IP为192.168.3.37
,您的上传API会将上传的文件放入服务器上的D:\Anoop\pic\
。所以你要做的就是通过HTTP或FTP等协议公开D:\Anoop\pic\
。
您将http://192.168.3.37/pics
映射到D:\Anoop\pic
。这样,目录中的所有文件都使用HTTP公开。您可以使用FTP执行相同的策略。
那么,你返回给客户端的是给以前上传的任何特定文件的URL,如果你已经上传了文件2unvvhlacq5fh09tokr7i25cvj.jpg
并且服务器API把它放在D:\Anoop\pic\2unvvhlacq5fh09tokr7i25cvj.jpg
那么它将会可以http://192.168.3.37/pics/2unvvhlacq5fh09tokr7i25cvj.jpg
我希望你明白这一点。