将图像名称或路径保存到数据库中

时间:2012-07-09 20:02:55

标签: asp.net sql sql-server image-uploading

我正在使用ASP.NET和SQL Server为公司员工做内部网,在配置文件部分我有一个上传图片区域(显示图片的图片字段,选择文件的输入和负载)按钮),这工作正常,图片正在加载到一个文件夹,但是,我也有文本字段,用户添加他的信息,这也很好,并保存到数据库,现在我想做的是用户上传图片,并在点击提交按钮将所有文本字段发送到数据库中时,完成所有文本字段,他上传的图片的名称或路径也进入数据库,我的所有文本字段都被保存使用带有insertParameters的sqlDataSource。

知道怎么做吗?我更喜欢用前端代码来做,因为在后面的代码我只是初始化SqlDataSource1.Insert();

2 个答案:

答案 0 :(得分:1)

不要将图像保存到磁盘上,这样做会迟早会造成难看的混乱。 你应该做的是允许用户上传图像,在服务器上调整图像大小/裁剪图像,将图像转换为base64并将base64字符串保存到varchar(max)列。

因为您只保存小图像(头像),所以此解决方案应该没有任何问题。 此外,当您从数据库中提取图像base64字符串时,如果不需要IE7,则可以将其直接嵌入到HTML中。以下是支持Data URI scheme

的浏览器列表

如果将base64嵌入到HTML中无法解决问题,请填充一个ASP.NET页面,该页面将base64字符串解码为图像并返回二进制响应。然后在您的页面中使用它,如下所示:

<img src="http://www.example.com/images.aspx?thimageDBrowID=12345" width="20" height="20"/>

答案 1 :(得分:0)

如果您使用的是SQL Server 2008,则可以查看使用FILESTREAM