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下写的 –