使用 asp .net api 接收 bytea

Receive bytea with asp .net api

首先对可能出现的英文错误表示抱歉

我使用 entity framework 在我的 postgresql 数据库中创建了一个 table。

在创建部分的 edmx 中,我作为 bytea 传递,但是在映射中我使用二进制(需要使用原始类型)。

<EntityType Name="styleexample">
      <Key>
        <PropertyRef Name="id" />
      </Key>
      <Property Name="id" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
      <Property Name="example" Type="String" MaxLength="40" />
      <Property Name="example1" Type="Binary" />
      <Property Name="example2" Type="DateTime" />
</EntityType>

<EntityType Name="styleexample">
      <Key>
        <PropertyRef Name="id" />
      </Key>
      <Property Name="id" Type="int4" StoreGeneratedPattern="Identity" Nullable="false" />
      <Property Name="example" Type="varchar" MaxLength="40" />
      <Property Name="example1" Type="bytea" />
      <Property Name="example2" Type="timestamp" />
</EntityType>

table 是使用正确的输入创建的

在实体中,我将该列引用为字节 []

在列中我插入了一个png图片的base64字符串,但是在服务中return和我插入的值不一样

我的回复也是byte[]

有效。但是,它 return 是不正确的值。有没有不同的方法来完成这个过程?

我通过添加到服务解决了这个问题

var example1 = new StreamReader(new MemoryStream(estilo.example1));
var example1Stream = example1 .ReadToEnd();