【问题标题】:Save stringbuilder contents into SQL DB image field将 stringbuilder 内容保存到 SQL DB 图像字段中
【发布时间】:2011-03-25 17:01:20
【问题描述】:

在我的 web 应用程序中,我为 csv 文件创建并填充了一个字符串生成器。通常我将它直接写入响应对象,供用户通过浏览器下载。 但是,现在我想将其保存到 SQL DB 图像字段。有没有直接导入的方法?还是我必须先将其保存到文件中,然后再读回?

TIA 伙计们!

【问题讨论】:

  • 保存文件然后阅读它..
  • 真正的问题是什么?是“如何将字符串生成器中的文本保存到数据库中的图像字段中”还是“如何将文本呈现给用户”?

标签: asp.net vb.net


【解决方案1】:

只需将 sb.ToString() 传递给您的参数。只是文字。

【讨论】:

    【解决方案2】:

    首先,为什么要将文本数据存储为图像(=二进制=字节数组)数据类型?

    如果您使用 n/text 或 n/varchar(max) 列,您可以将 StringBuilder 的 ToString() 方法的结果作为参数传递给您的插入语句。

    如果您真的坚持将文本存储为二进制字段,请使用您首选的encodingEncoding.GetBytes() 方法来检索字节数组。

    【讨论】:

    • 感谢您的回答,我最终完成了 getBytes 的工作,现在它正在工作。我将文本存储在图像字段中,因为 CSV 可以是 v.large,并且我不确定 varchar(max) 的容量?将其保留为文本是首选吗?干杯
    • image 和 varchar(max) 都限制为 2GB。 msdn.microsoft.com/en-us/library/ms187993.aspx
    【解决方案3】:

    我假设您只提到了 Stringbuilder 和 CSV 文件,因为那是指您之前为用户启用文件下载的经验。

    有点不清楚是要接收用户的图片文件还是提供图片文件供用户下载?因此,我提供了两个问题的解决方案。

    如何使用 httpResponse 从 SQL Server 返回图像?

    1. 从数据库中获取图片数据
    2. 设置正确的响应content-type(例如image/jpgimage/gifimage/png
    3. 将图像的字节写入原始响应流

    这是一个带有一些代码示例的相关线程:How to load an image in ASP.NET from a database as a file in a web browser?

    如首选答案中所述,您应该考虑实现一个 httpHandler 来提供图像,而不是通过 ASPX 页面(用于 html)提供图像

    如何将图像文件上传到 SQL 服务器数据库?

    如果您想保存file input control 收到的图像文件到数据库中,那么您应该查看此链接: How do you store a picture in an image column?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多