【问题标题】:Uploading images to Linux server through .NET API通过 .NET API 将图像上传到 Linux 服务器
【发布时间】:2021-01-20 00:06:22
【问题描述】:

我有一个 ASP.NET 核心 API 项目,可以让用户上传图片。我的第一个实现是使用 Base64 并将图像保存在 SQL 服务器中。但是,由于性能问题,我决定不这样做。第二种实现是使用 Azure Blob 存储并将文件直接上传到 Blob 存储中。

我不确定这是否是个好主意,但我不想使用 Azure Blob,而是想将图像上传到我的 Linux 服务器的某个位置。是否有任何特殊的目录可以保存文件,我这样做是否安全?

【问题讨论】:

    标签: asp.net linux asp.net-core ubuntu


    【解决方案1】:

    据我所知,Linux服务器没有专门的文件保存目录,这样会更安全。

    linux中所有的文件夹都是一样的,如果你有足够的权限访问它,那么你可以在里面读写图像。

    通常,我们会在我们的应用程序中添加一个文件夹来存储上传的图像,这样我们就可以在我们的代码中使用相对路径。

    在我看来,使用 blob 存储是一个好主意。如果您有足够的权限并且安全,这将直接从 blob url 访问,我们可以生成 SAS 以仅允许特定用户访问,它具有高耐用性和足够便宜。

    【讨论】:

    • 感谢您的回答。是的,Azure Blob 存储是最好的选择之一。但是,我认为将上传的图像保存在应用程序本身中并不是最佳做法,它可能会给您的应用程序带来一些安全问题@brandozhang
    • 在我看来,您可以禁用远程访问服务器上应用程序中的文件夹。这将使您的网站更加安全。
    • 是的,如果我试图从同源访问图像,这将是一个好主意,我可以在防火墙中创建同源策略,但这不适用于移动应用程序,因为请求起源。我想我别无选择,只能将图像公开。
    猜你喜欢
    • 2012-12-22
    • 1970-01-01
    • 2017-05-21
    • 2019-03-25
    • 2014-11-25
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多