这个问题已经在这里有了答案 :
4年前关闭。
这是有关图像的另一个问题(似乎比我最初预计的要困难得多),我正在使用JSF 2.0(apache myFaces)开发Java
Web应用程序,我希望该应用程序能够将图片上传到目标位置将要在其上运行的服务器。我有一台运行mySQL Db的Windows r2 2008
Server,但是我不想将映像存储在数据库中,而是将其存储在服务器中的某个位置,然后将路径另存为字符串在数据库中。
有人告诉我这是最好的方法,但是我似乎找不到如何将其保存在服务器上的示例。我在Apache
Tomcat服务器上将应用程序作为WAR文件运行。所以我不知道我是否必须将文件保存到服务器驱动器上的路径(即C:\
images)或项目本身中的特殊文件夹(在Java,html文件中),所有帮助都将不胜感激。我完全迷失了自己,整整一天都被困住,试图找出答案。
我用来将图像上传到java类的代码是这样(由CodyS提供):
InputStream is = uploadedFile.getInputStream();
byte[] buffer = new byte[(int) uploadedFile.getSize()];
is.read(buffer);
File f = new File("C:\\temp\\" + this.patient.getPk() + ".jpeg");
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
fos.write(buffer); //This is where I write it to the C Drive
fos.close();
is.close();
而不是将其写入C驱动器,而是要在服务器上运行它,但是应将图像存储在哪里以供以后检索并显示在xhtml文件中?我希望我对自己的需求很清楚,如果我不需要,请告诉我,我将尝试用另一种方式进行解释。