将直接以二进制的形式存入数据库,如果查询频繁,大而多,不建议这样做,首先数据会比较大,再者查询,重新转化为
将浪费时间和资源;
一般的方法都是存储的路径,上传到服务器;只要数据类型的长度够用就行varchar
类型就可以,access
用
备注类型;比如一些网站的在线编辑器
什么的,
<table></table>
<img
/>
这些标签
实际上
就是以文本的形式
保存,从数据库
取出,页面
就显示对应的html
形式!
如:
SystemIOMemoryStream mstream = new SystemIOMemoryStream();
//将控件htmlRichTextBox_imgText里面的内容全部当作存储
thishtmlRichTextBox_imgSaveFile(mstream, RichTextBoxStreamTypeRichText);
//将流转换成数组
byte[] bWrite = mstreamToArray();
jzdocEntitiess_sample obj = new s_sample();
objimg1 = bWrite;
jzdocdbsvrDefaultSave<s_sample>(obj);
问题一:数据库怎样可以将放到里面 首先肯定一点,数据库中是可以放数据的!但是这样的话,数据体积会很庞大,当然最好还是把放到文件夹中,数据只用来存放路径,不过最好是存放相对路径,应该以后可能设计到单独放在另一台服务器上,或换了文件夹。
问题二:SQL数据库中能存照片吗? 完全可以存放,但是在数据库中不能以select from a进行查询
但是在相对应得c#、Java中可以查询
是以二进制保存的。
数据库,只要是抽象出来的数据,都可以保存。
而已不能保存的,就是实体,像处啊、鞋子啊、男朋友啊都不姓
问题三:mysql数据库可以存吗? 可以。存的列需要设置成BLOB、MEDIUMBLOB或LONGBLOB等数据类型。
但是以前基本上不会把直接存在数据库里,因为数据库里的数据是为了用来快速分析、快速存取的,数据在mysql里既不能建立索引也不能和其他数据一起分析,存取速度和读写磁盘也没什么区别,每次备份、导入导出数据库时还增加了数据量,降低了效率。所以一般都是把存在系统里,然后把的存放路径放在数据库里。
问题四:如何存入数据库 第一种方式:保存路径至数据库中
第二种方式:数据插入相应表中,参数类型为byte[]
例如:
sql:insert into table(imageColumn) values (@image);
其中@image参数值为byte[]类型的变量
问题五:如何存放在oracle数据库 测试可行。这只是核心Class文件代码,你要是弄不出来,就再联系我,我再把整个项目给你。这是把真个放到数据库
package dao;
import javaioFileInputStream;
import javaioOutputStream;
import javasqlBlob;
import javasqlConnection;
import javasqlPreparedStatement;
import javasqlResultSet;
import javautilScanner;
import oraclesqlBLOB;
public class Insert {
Scanner sc =new Scanner(Systemin);
@SuppressWarnings(deprecation)
public int insertbinary(String pname,String src1){
Connection con = null;
String sql = insert into test values(,);
String sql1 =update test set image= where pname=;
int res = 0;
try {
con=BaseDAOgetConnection();
consetAutomit(false);
PreparedStatement pstm = conprepareStatement(sql);
pstmsetString(1, pname);
EMPTY_BLOB和EMPTY_CLOB返回一个空的LOB定位器,
可以用来初始化一个LOB变量,或在INSERT或UPDATE语句,
初始化LOB列或属性为空。 EMPTY表示LOB初始化,但不填充数据。
pstmsetBlob(2, oraclesqlBLOBempty_lob());
pstmexecuteUpdate();
pstmclose();
pstm = conprepareStatement(select from test where pname=);
pstmsetString(1, pname);
ResultSet rs = pstmexecuteQuery();
rsnext();
BLOB blob = (BLOB) rsgetBlob(2);
OutputStream os = blobgetBinaryOutputStream();
FileInputStream fi = new FileInputStream(src1);
byte[] buff = new byte[1024];
int len = firead(buff);
while (len != -1) {
oswrite(buff);
len = firead(buff);
}
pstm = conprepareStatement(sql1);
pstmsetBlob(1,>>
问题六:如何将储存在MySQL数据库里 通常对用户上传的需要保存到数据库中。解决方法一般有两种:一种是将保存的路径存储到数据库;另一种是将以二进制数据流的形式直接写入数据库字段中。以下为具体方法:
一、保存的上传路径到数据库:
string uppath=;用于保存上传路径
获取上传的文件名
string fileFullname = thisFileUpload1FileName;
获取上传的时间,以时间作为的名字可以防止重名
string dataName = DateTimeNowToString(yyyyMMddhhmmss);
获取的文件名(不含扩展名)
string fileName = fileFullnameSubstring(fileFullnameLastIndexOf(\\) + 1);
获取扩展名
string type = fileFullnameSubstring(fileFullnameLastIndexOf() + 1);
判断是否为要求的格式
if (type == bmp || type == jpg || type == jpeg || type == gif || type == JPG || type == JPEG || type == BMP || type == GIF)
{
将上传到指定路径的文件夹
thisFileUpload1SaveAs(ServerMapPath(~/upload) + \\ + dataName + + type);
将路径保存到变量,将该变量的值保存到数据库相应字段即可
uppath = ~/upload/ + dataName + + type;
}
二、将以二进制数据流直接保存到数据库:
引用如下命名空间:
using SystemDrawing;
using SystemIO;
using SystemDataSqlClient;
设计数据库时,表中相应的字段类型为iamge
保存:
路径
string strPath = thisFileUpload1PostedFileFileNameToString ();
读取
FileStream fs = new SystemIOFileStream(strPath, FileModeOpen, FileAccessRead);
BinaryReader br = new BinaryReader(fs);
byte[] photo = brReadBytes((int>>
问题七:如何在数据库中存储文件 解决方法一般有两种:
一种是将保存的路径存储到数据库;
另一种是将以二进制数据流的形式直接写入数据库字段中。
问题八:如何将存到数据库 通常对用户上传的需要保存到数据库中。解决方法一般有两种:一种是将保存的路径存储到数据库;另一种是将以二进制数据流的形式直接写入数据库字段中。以下为具体方法:
一、保存的上传路径到数据库:
string uppath=;用于保存上传路径
获取上传的文件名
string fileFullname = thisFileUpload1FileName;
获取上传的时间,以时间作为的名字可以防止重名
string dataName = DateTimeNowToString(yyyyMMddhhmmss);
获取的文件名(不含扩展名)
string fileName = fileFullnameSubstring(fileFullnameLastIndexOf(\\) + 1);
获取扩展名
string type = fileFullnameSubstring(fileFullnameLastIndexOf() + 1);
判断是否为要求的格式
if (type == bmp || type == jpg || type == jpeg || type == gif || type == JPG || type == JPEG || type == BMP || type == GIF)
{
将上传到指定路径的文件夹
thisFileUpload1SaveAs(ServerMapPath(~/upload) + \\ + dataName + + type);
将路径保存到变量,将该变量的值保存到数据库相应字段即可
uppath = ~/upload/ + dataName + + type;
}
二、将以二进制数据流直接保存到数据库:
引用如下命名空间:
using SystemDrawing;
using SystemIO;
using SystemDataSqlClient;
设计数据库时,表中相应的字段类型为iamge
保存:
路径
string strPath = thisFileUpload1PostedFileFileNameToString ();
读取
FileStream fs = new SystemIOFileStream(strPath, FileModeOpen, FileAccessRead);
BinaryReader br = new BinaryReader(fs);
byte[] photo = br>>
问题九:怎样数据库access保存jpg 只有两种方法
1存地址,放服务器的一个文件夹里
2存的数据,也就是二进制流
既然第一种你说不行 那只能第二种了。
我只说一下思路,代码网上找一下,多的很,也不麻烦1数据库字段类型为image(sqlserver的是image,不知道access的是不是)
2把文件序列化 放到一个byte[]数组里,然后存到数据库
显示的时候:
1单独在一个页面读出的内容到一个byte[]数组
2用response把这段二进制输出
3在要引用的地方,比如你的image控件,把引用的地址指向这个页面就行了
问题十:如何像数据库中保存? 一般图像是不保存在数据库的而是先将放在工程下的某个文件夹中,将所在的工程文件路径存在数据库中,当程序加载的时候,从数据库中读取的路径,然后根据路径在工程的文件夹中读取文件
以上就是关于SQL中,存储图片用哪种类型全部的内容,包括:SQL中,存储图片用哪种类型、如何用SQL语句实现图片的存储和读取、数据库能存图片吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)