2014-03-28 63 views
0

我正在研究允許用戶上傳圖像文件的應用程序。我遵循將文件保存在目錄中並將其名稱保存在數據庫中以供檢索的方法。在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權限來創建這樣的目錄?應該怎樣解決這個問題?

回答

0

據我所知,我們都在openshift上使用App/Web服務器的實例,我們在這裏沒有獨立的服務器,所以我們不會對服務器有寫權限,而是嘗試上傳BLOB對象到數據庫中,很容易

+0

是的,我明白了文件,但我們在,至少有權利上傳我們的戰爭,那麼我們肯定有上傳其他文件的權利,我不願意去通過BLOB方式。 – Tushar

+0

我不知道這一點,我們可以上傳我們的戰爭,但我們不能在服務器上創建任何目錄。我會研究這一點,並會回覆你。 – Pulkit

+1

tushar你嘗試過嗎? https://www.openshift.com/forums/openshift/how-to-upload-and-serve-files-using-java-servlets-on-openshift – Pulkit

相關問題