将多张图片保存到数据库并且读出来

问题描述

解决方案

解决方案二:
最好保存到物理路径去
解决方案三:
数据库只存链接
解决方案四:
你把你的图片转换成二进制保存到数据库里面,读数据的时候在讲二进制转换成图片不就行了嘛
解决方案五:
不推荐这样做,只保存相对路径
解决方案六:
引用4楼qq_32395957的回复:

不推荐这样做,只保存相对路径

严重推荐这样做,在备份的时候相当轻松publicstaticstringConvertBytesToString(byte[]bytes){StringBuildersb=newStringBuilder();foreach(bytebinbytes){stringsby=Convert.ToString(b,16);if(sby.Length==1){sby="0"+sby;}sb.Append(sby);}returnsb.ToString();}

将byte[]转为0x开头的字符串后,直接拼成SQL语句(前后不需要单引号),执行Insert或Update即可
解决方案七:
引用2楼FoxDave的回复:

数据库只存链接

那要怎么把多张图读出来
解决方案八:
引用3楼lvfeng1989的回复:

你把你的图片转换成二进制保存到数据库里面,读数据的时候在讲二进制转换成图片不就行了嘛

能详细点讲解下吗???
解决方案九:
引用5楼jjkk168的回复:

Quote: 引用4楼qq_32395957的回复:
不推荐这样做,只保存相对路径

严重推荐这样做,在备份的时候相当轻松publicstaticstringConvertBytesToString(byte[]bytes){StringBuildersb=newStringBuilder();foreach(bytebinbytes){stringsby=Convert.ToString(b,16);if(sby.Length==1){sby="0"+sby;}sb.Append(sby);}returnsb.ToString();}

将byte[]转为0x开头的字符串后,直接拼成SQL语句(前后不需要单引号),执行Insert或Update即可

读出来要怎么做
解决方案十:
一般,我只保存图片路径到数据库。存储图片流,字符太长,浪费数据库资源。而且拿出来还要转换在显示。
解决方案十一:
引用6楼qq_33035717的回复:

Quote: 引用2楼FoxDave的回复:
数据库只存链接

那要怎么把多张图读出来

可以存在多个字段里,也可以在一个字段里把路径用符号分割
解决方案十二:
引用5楼jjkk168的回复:

Quote: 引用4楼qq_32395957的回复:
不推荐这样做,只保存相对路径

严重推荐这样做,在备份的时候相当轻松publicstaticstringConvertBytesToString(byte[]bytes){StringBuildersb=newStringBuilder();foreach(bytebinbytes){stringsby=Convert.ToString(b,16);if(sby.Length==1){sby="0"+sby;}sb.Append(sby);}returnsb.ToString();}

将byte[]转为0x开头的字符串后,直接拼成SQL语句(前后不需要单引号),执行Insert或Update即可

强烈推荐啊?这数据库要多大才能满足你们这样用数据库存储文件的思维啊。能做CDN吗?
解决方案十三:
最好在数据库保存图片路径,如果硬是要保存图片的话,就在数据库建一个varbinary类型的字段,然后程序中将图片通过流转换为二进制,写sql语句保存,读取的时候将读出的二进制通过流转换为图片
解决方案十四:

解决方案十五:
引用10楼FoxDave的回复:

Quote: 引用6楼qq_33035717的回复:
Quote: 引用2楼FoxDave的回复:
数据库只存链接

那要怎么把多张图读出来

可以存在多个字段里,也可以在一个字段里把路径用符号分割

跪求代码
解决方案:
引用9楼hanjun0612的回复:

一般,我只保存图片路径到数据库。存储图片流,字符太长,浪费数据库资源。而且拿出来还要转换在显示。

跪求代码
解决方案:
前台就一个Input的file控件。这里是mvc的上传代码.只是给个参考[ValidateInput(false)][HttpPost]publicActionResultCreate(HttpPostedFileBaseup1){if(ModelState.IsValid){if(up1!=null&&up1.FileName!=""){//判断文件夹是否存在stringimgUrl=“相对路径url”+DateTime.Now.ToString("yyyyMMdd")+"/";if(Directory.Exists(Server.MapPath(imgUrl))==false){Directory.CreateDirectory(Server.MapPath(imgUrl));}//上传图片stringimgName=DateTime.Now.ToString("yyyyMMddHHmmss")+".jpg";stringimgFilePath=Server.MapPath(imgUrl)+imgName;up1.SaveAs(imgFilePath);}returnRedirectToAction("Edit",new{id=wx_goods.id});}returnView();}

解决方案:
引用11楼fei2yun的回复:

Quote: 引用5楼jjkk168的回复:
Quote: 引用4楼qq_32395957的回复:
不推荐这样做,只保存相对路径

严重推荐这样做,在备份的时候相当轻松publicstaticstringConvertBytesToString(byte[]bytes){StringBuildersb=newStringBuilder();foreach(bytebinbytes){stringsby=Convert.ToString(b,16);if(sby.Length==1){sby="0"+sby;}sb.Append(sby);}returnsb.ToString();}

将byte[]转为0x开头的字符串后,直接拼成SQL语句(前后不需要单引号),执行Insert或Update即可

强烈推荐啊?这数据库要多大才能满足你们这样用数据库存储文件的思维啊。能做CDN吗?

你以为真的很大么?你的文件放在磁盘里面与放在数据库文件中有何区别?不就是磁盘容量的事情么?读出来的规则:publicstaticbyte[]ConvertStringToBytes(strings){if(s.Trim().StartsWith("0x")){s=s.Substring(2);}byte[]bytes=newbyte[s.Length/2];for(inti=0;i<s.Length;i=i+2){byteb=Convert.ToByte(s.Substring(i,2),16);bytes[i/2]=b;}returnbytes;}

时间: 2025-01-24 13:14:42

将多张图片保存到数据库并且读出来的相关文章

请教c#高手,一张图片,通过选择其存储路径,将其存储到数据库中;再从数据库中读出来,显示在picturebox中

问题描述 请教c#高手,一张图片,通过选择其存储路径,将其存储到数据库中:再从数据库中读出来,显示在picturebox中.同理,word文档如何存取?哪位有示例代码,能发给我吗?邮箱:wangmeiyangood@126.comqq:415245048非常感谢!我是新手,分数不多.请多包涵与关照.谢谢您! 解决方案 解决方案二:需要通过什么方式找到图片?FileUpload的话,假定要将图片存储到程序目录的UpLoadImages文件夹,先使用FileUpload组件返回图片名,stringf

aspx-如何将图片地址保存到数据库?

问题描述 如何将图片地址保存到数据库? 就是我一次性要上传多张图片,需要把地址保存到数据库,求各位大神帮帮忙,我是新手,还希望大神们帮帮忙啊? 解决方案 你一次性插入很多图片在代码里面也是一张张来操作的. 你可以先构造一个url,这个url就是唯一指向图片的,一般在上传的时候,会把图片的真实名字取到,存在数据库,然后把图片存到你服务器的时候,是会把图片名字改掉的,一般是改成唯一的,此时你需要把这个图片唯一名字也取到,加上图片存放的文件夹就形成了url,就可以insert到数据库了.

ueditor 如何将带有格式的文本保存在数据库中

问题描述 ueditor 如何将带有格式的文本保存在数据库中 请问如何将ueditor中带有格式的文本保存在数据库中,在另一页面显示时会显示带有格式的文本. 解决方案 你的ueditor放到表单里面,提交表单到动态页,提交前ueditor会自动将编辑器中的内容赋值给表单中的隐藏域的. 隐藏域默认的键名称为editorValue,你也可以配置textarea指定这个名称. 入库是html格式的,读出来的也是html格式的直接显示就行 注意你服务器端的配置,有些可能会配置过将html标签替换为实例对

怎么把文件保存到数据库中并且还原回来

问题描述 把一个文件保存到数据库中,在以后要用的时候要还原回来,文件可能包含图片,希望大家能赐教.谢谢 解决方案 文件可能包含图片???是什么格式文件啊???doc?我觉得你可以将文件转换成二进制的文件保存到数据库表的blog字段中,要还原文件的话,再给转换回来.解决方案二:一般来说都是把文件以二进制的方式存储到数据库中,还原也是读取这个字段中的二进制.但很多时候都是把文件的地址保存在 数据库中,这样根据数据库中的地址到相应目录去找文件,省事的多,也被很多人采纳解决方案三:用BLOB字段读和写分

修改FCKEditor实现将图片、文件等保存到数据库

FCKEditor是开源的富文本编辑器,其免费.跨浏览器跨平台的特点使得其在项目中得到了广泛的应用.但是FCKEditor的附件(文件.图片.Flash等)是上传保存到Web服务器的,在只有一台Web服务器的情况下没有什么太大的问题,但是如果我们的系统有多个Web服务器实现NLB(网络负载均衡),那么用户将附件上传到其中一台Web服务器上保存,其他用户在访问另外一台Web服务器时将无法读取文件.对于这种多Web服务器实现NLB的情况,一般来说,我知道的有4种解决方案: 1,将附件保存到SQL S

asp.net图片保存到数据库和从数据库读取图片并显示

例1  代码如下 复制代码 private void button2_Click_1(object sender, System.EventArgs e) { string pathName; if (this.openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK) { pathName = this.openFileDialog1.FileName; System.Drawing.Image img = Syste

数据库读取 asp-求救!怎么读取Doc文件以ntext类型保存在数据库的值

问题描述 求救!怎么读取Doc文件以ntext类型保存在数据库的值 存到数据库中的时候是以DocumentText方法保存上传到数据库中的,现在想读取出来,我是用下面的方法读的 int num = pModel.Reason1.Length; Response.ContentType = "Application/msword"; Response.AddHeader("Content-Disposition", "attachment; filename

Android 的 unread 属性能保存在数据库吗?

问题描述 Android 的 unread 属性现在是保存在内存当中的,重启程序就没了,有函数保存在数据库里吗? 解决方案 数据库会保存未读消息数的字段,只要没卸载应用,重启应用,未读消息数就会读到. 直到进入聊天页面,才将未读数清零.

实现php上传图片到指定位置路径保存到数据库

 本文为大家介绍下php上传图片到指定位置路径保存到数据库的具体实现,感兴趣的朋友不要错过 1.conn.php  代码如下: <?  $host="localhost"; //数据库服务器名称  $user="root"; //用户名  $pwd="1721"; //密码  $conn=mysql_connect($host,$user,$pwd);  mysql_query("SET  character_set_connec