从 java 中部署的服务器(即我的 Web 应用程序)的用户本地计算机访问文件
Accessing files from users local machine from deployed server (i.e. my webApplication) in java
我正在开发一个网络应用程序,我想从用户那里获取图像。
所以我写了一个 Servlet
来从用户那里获取文件路径。我将文件路径传递为...
localhostApiBase/image?path=/home/userName/Pictures/25.jpg
我在本地主机上部署了我的应用程序,它工作正常。即我的应用程序找到了文件并按预期进行了处理。我正在阅读这样的图片
File oFile = new File(path);
BufferedImage oImage = ImageIO.read(oFile);
然后我将我的应用程序部署到 AWS Elastic Beanstalk,当我尝试使用与...
相同的路径访问相同的 Servlet
时
serverApiBase/image?path=/home/userName/Pictures/25.jpg
然后
File oFile = new File(path);
oFile.exists(); // returns false
BufferedImage oImage = ImageIO.read(oFile); // throws java.nio.file.NoSuchFileException: /home/userName/Pictures/25.jpg
经过一番努力,我发现它试图在服务器 (AWS Elastic Beanstalk)
上查找文件,而不是在我(用户)的本地计算机上。所以它正在抛出
java.nio.file.NoSuchFileException .
谁能帮我解决这个问题。我希望用户从他们的机器上传图像,我将进一步使用它....
像这样将用户上传的文件保存在服务器存储中,
File targetFile = new File(filePath);
OutputStream outStream = new FileOutputStream(targetFile);
outStream.write(buffer);
outStream.close();
并像这样访问文件,
server_ip/image?path=filePath
如果您想在 运行 期间从用户那里获取图像,您必须创建一些上传逻辑。这里有一个很好的解释:How to upload files to server using JSP/Servlet?
如果图像是静态的,即应用程序的一部分使用 Drux 提到的方法。
我正在开发一个网络应用程序,我想从用户那里获取图像。
所以我写了一个 Servlet
来从用户那里获取文件路径。我将文件路径传递为...
localhostApiBase/image?path=/home/userName/Pictures/25.jpg
我在本地主机上部署了我的应用程序,它工作正常。即我的应用程序找到了文件并按预期进行了处理。我正在阅读这样的图片
File oFile = new File(path);
BufferedImage oImage = ImageIO.read(oFile);
然后我将我的应用程序部署到 AWS Elastic Beanstalk,当我尝试使用与...
相同的路径访问相同的Servlet
时
serverApiBase/image?path=/home/userName/Pictures/25.jpg
然后
File oFile = new File(path);
oFile.exists(); // returns false
BufferedImage oImage = ImageIO.read(oFile); // throws java.nio.file.NoSuchFileException: /home/userName/Pictures/25.jpg
经过一番努力,我发现它试图在服务器 (AWS Elastic Beanstalk)
上查找文件,而不是在我(用户)的本地计算机上。所以它正在抛出
java.nio.file.NoSuchFileException .
谁能帮我解决这个问题。我希望用户从他们的机器上传图像,我将进一步使用它....
像这样将用户上传的文件保存在服务器存储中,
File targetFile = new File(filePath);
OutputStream outStream = new FileOutputStream(targetFile);
outStream.write(buffer);
outStream.close();
并像这样访问文件,
server_ip/image?path=filePath
如果您想在 运行 期间从用户那里获取图像,您必须创建一些上传逻辑。这里有一个很好的解释:How to upload files to server using JSP/Servlet?
如果图像是静态的,即应用程序的一部分使用 Drux 提到的方法。