【问题标题】:Azure web app write and read filesAzure Web 应用程序写入和读取文件
【发布时间】:2016-08-01 13:03:04
【问题描述】:

我已经制作了一个简单的 Java Web 应用程序,它在 tomcat 上运行以探索 azure 环境。

我可以从网络应用程序读取文件(通过 FTP 部署到网络应用程序的根目录),路径由 HOME 环境变量(azure 自己的环境变量,解析为 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 Apps 提供 durable 存储,除非您完全删除它,否则该存储会与您的应用保持一致。这与 VM 中的暂存盘不同。
  • 感谢您的澄清

标签: java azure azure-web-app-service


【解决方案1】:

%HOME% 下不能直接创建文件,但可以创建目录。在那里,您可以创建文件。只有根目录下的文件才被禁止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 2015-06-24
    相关资源
    最近更新 更多