我正在研究允許用戶上傳圖像文件的應用程序。我遵循將文件保存在目錄中並將其名稱保存在數據庫中以供檢索的方法。在Linux主機服務器(Java)上傳圖像路徑
inputStream = file.getInputStream();
BufferedImage imBuff = ImageIO.read(inputStream);
imBuff = Scalr.resize(imBuff, 200);
File dir = new File("/opt/uploads/contactImages");
if(!dir.exists()){
dir.mkdirs();
}
ImageIO.write(imBuff, "png", new File("/opt/uploads/contactImages"));
因此,使用上面的代碼我的文件被上傳到opt/uploads/contactImages文件夾中,並且在我的本地環境中工作正常。
但在生產中,我在openshift服務器上主持過我的戰爭。圖像沒有在那裏創建,可能是因爲我沒有root權限來創建這樣的目錄?應該怎樣解決這個問題?
是的,我明白了文件,但我們在,至少有權利上傳我們的戰爭,那麼我們肯定有上傳其他文件的權利,我不願意去通過BLOB方式。 – Tushar
我不知道這一點,我們可以上傳我們的戰爭,但我們不能在服務器上創建任何目錄。我會研究這一點,並會回覆你。 – Pulkit
tushar你嘗試過嗎? https://www.openshift.com/forums/openshift/how-to-upload-and-serve-files-using-java-servlets-on-openshift – Pulkit