如何将二进制数据写入csv文件?

She*_*ell 1 c# sql-server csv

我有一个表StaffMaster,其中包含员工照片,该表的数据类型为varbinary.所以,我想使用c#代码将此表导出为csv文件格式.即使我试图通过sql server export任务手动导出该表.但它显示以下错误.

- Validating (Error)
Messages
Error 0xc0208030: Data Flow Task: The data type for "input column 
"StaffPhoto" (376)" is DT_IMAGE, which is not supported. Use DT_TEXT 
or DT_NTEXT instead and convert the data from, or to, DT_IMAGE using    
the data conversion component.
 (SQL Server Import and Export Wizard)
Run Code Online (Sandbox Code Playgroud)

我知道数据存储在二进制(byte [])中.但是,我想知道是否有可能将其转换为字符串,当我想将其导入sql server数据库时,它应该转换为二进制文件.所以,我的数据不会丢失.图像大小可以是100 kb到500 kb.

我无法将图像存储在csv文件之外.

我正在使用SQL Server 2005.

kor*_*ner 7

Base64对二进制数据使用编码.它将任何二进制数据转换为可读字符串.代码如下

编码

public static string Base64Encode(string plainText) 
{
    var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
    return System.Convert.ToBase64String(plainTextBytes);
}
Run Code Online (Sandbox Code Playgroud)

解码

public static string Base64Decode(string base64EncodedData) 
{
  var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
  return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
}
Run Code Online (Sandbox Code Playgroud)