0
我做了一個簡單的Java Web應用程序,它運行在Tomcat上以探索天藍色的環境。Azure網絡應用程序寫入和讀取文件
我可以讀取文件從Web應用程序(通過FTP部署到Web應用程序的根),由HOME環境變量表示的路徑(蔚藍自己的環境變量,解析爲D:\home
):
String home = env.getProperty("HOME");
FileInputStream fis;
try {
fis = new FileInputStream(home + "/" + "input.txt");
//...
fis.close();
} catch (IOException e) {
//...
}
但我無法將文件寫入相同路徑:
String home = env.getProperty("HOME");
File file = new File(home + "/output.txt");
try {
FileOutputStream fos = new FileOutputStream(file, true);
//...
fos.flush();
fos.close();
} catch (IOException e) { //ACCESS DENIED
return "ERROR :" + e.getMessage();
}
上面的代碼失敗,導致訪問被拒絕錯誤。
我可以在Azure中將持久性文件寫入某個路徑,還是我需要一個雲本地存儲器?
我不建議將文件保存到Azure上的本地存儲;我的低估是他們可能會將您的應用程序移動到另一個實例,並且他們只會包含您在部署應用程序時上傳的原始包。 –
@MokhtarAshour - 除非您完全刪除,否則Azure Web應用程序提供*持久*存儲,以保留您的應用程序。這與虛擬機中的臨時磁盤不同。 –
感謝您對%HOME%/ site下寫的 –