gpt4 book ai didi

windows - 如何为弹性 beantalk Windows 应用程序设置文件夹权限?

转载 作者:可可西里 更新时间:2023-11-01 13:32:10 24 4
gpt4 key购买 nike

我目前正在构建一个 C# WebApi 2 应用程序,我将把它上传到 Amazon Elastic Beanstalk 实例进行部署。到目前为止,我取得了成功,在我的本地机器上,我刚刚完成了文件上传功能的测试,以便客户端上传图片。

方法是我在 Web Api 中接受 multipart/formdata 并将临时文件(使用随机名称,如 BodyPart_24e246c7-a92a-4a3d-84ef-c1651416e667)保存到 App_Data 文件夹。临时文件被放入 S3 存储桶中,我在我的 SQL Server 数据库中创建了一个对它的引用。

测试在本地上传单个或多个文件时工作正常,但是当我将应用程序部署到 Elastic Beanstalk 并尝试上传时,我收到类似“无法找到路径的一部分 'C:\inetpub\wwwroot\sbeAPI_deploy\App_Data\BodyPart_8f552d48-ed9b-4ec2-9986-88cbffd673ee'" 或类似的表示访问被完全拒绝。

几个小时以来,我一直在尝试在线寻找解决方案,但 AWS 文档到处都是,而且教程/其他问题似乎已经过时。我相信这与没有权限在 EC2 服务器上写入临时文件有关,但我不知道如何修复它。

非常感谢。

最佳答案

自 2013 年 4 月以来,这已经成为可能,另请参阅 here : 基本上您需要执行的步骤如下:

  1. 通过解决方案资源管理器在项目的顶层创建一个名为 .ebextensions 的文件夹
  2. 在此文件夹中添加您的配置文件,例如 myapp.config(将 myapp 替换为您的 Elastic Beanstalk 的应用名称)
  3. 将下方显示的代码添加到您刚刚创建的配置文件中。将 MyApp 替换为您在 Visual Studio 中显示的项目名称(不是解决方案名称)
  4. 一切就绪!确保 App_Data 中有一个文件,否则 Visual Studio 不会发布它。

    {
    "containercommands": {
    "01-changeperm": {
    "command": "icacls \"C:/inetpub/wwwroot/MyApp_deploy/App_Data\" /grant DefaultAppPool:(OI)(CI)"
    }
    }
    }

关于windows - 如何为弹性 beantalk Windows 应用程序设置文件夹权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25047587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com