【问题标题】:How to send image file from Angular to .net core API如何将图像文件从 Angular 发送到 .net 核心 API
【发布时间】:2020-11-01 05:34:23
【问题描述】:

我想将图像从我的 Angular 应用程序上传到 .net core api,因为我想将它保存在 SQL 数据库中。 为此,我通过以下方式添加图像:

<input type="file" accept="image/png, image/jpeg">

我的对象类型为File

我找到了this tutorial for API,它说我在后端的属性应该是这样的:

public byte[] ImageData { get; set; }

但我不太确定在将其发送到 API 之前如何将其转换为该类型。有什么想法吗?

【问题讨论】:

标签: javascript c# angular .net-core blob


【解决方案1】:

在您实施解决方案之前,我有一个建议给您

将文件存储在数据库中并不是最佳做法。您的数据库可能会变得很大,而为这些文件提供服务可能会使您的代码成本高昂。

相反,您可以将这些文件存储为静态文件以更有效地提供服务。这是一个简单的过程,只需保存这些文件的元数据(大小、文件、类型等),并存储后服务的路径。

欲了解更多信息,read here

或按照以下步骤操作:

  1. 在您的 javascript 客户端 (how to) 上将二进制文件转换为 base64。
  2. 在您的正文请求中发送 base64 字符串
  3. 在您的 Endpoint 中获取数据并以字符串形式存储在数据库中

【讨论】:

【解决方案2】:

您可以使用存储来上传您的文件/图像,它应该为此媒体文件提供一个 URL,并且您可以将此 URL 存储在 SQL 数据库中。 请关注this link 以更好地理解假设您将使用 Firebase 存储,但您可以使用任何存储提供程序或构建自己的存储提供程序。

【讨论】:

    猜你喜欢
    • 2019-08-26
    • 2018-10-12
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 2018-03-07
    • 1970-01-01
    相关资源
    最近更新 更多