如何将图片存到数据库

如何将图片存到数据库,第1张

通常对用户上传的需要保存到数据库中。解决方法一般有两种:一种是将保存的路径存储到数据库;另一种是将以二进制数据流的形式直接写入数据库字段中。以下为具体方法:

一、保存的上传路径到数据库:

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)fsLength);

brClose();

fsClose();

//存入

SqlConnection myConn = new SqlConnection("Data Source=;Initial Catalog=stumanage;User ID=sa;Password=123");

string strComm = " INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary )";// *** 作数据库语句根据需要修改

SqlCommand myComm = new SqlCommand(strComm, myConn);

myCommParametersAdd("@photoBinary", SqlDbTypeBinary, photoLength);

myCommParameters["@photoBinary"]Value = photo;

myConnOpen();

if (myCommExecuteNonQuery() > 0)

{

thisLabel1Text = "ok";

}

myConnClose();

读取:

连接数据库字符串省略

myconOpen();

SqlCommand command = new

SqlCommand("select stuimage from stuInfo where stuid=107", mycon);//查询语句根据需要修改

byte[] image = (byte[])commandExecuteScalar ();

//指定从数据库读取出来的的保存路径及名字

string strPath = "~/Upload/zhangsanJPG";

string strPhotoPath = ServerMapPath(strPath);

//按上面的路径与名字保存文件

BinaryWriter bw = new BinaryWriter(FileOpen(strPhotoPath,FileModeOpenOrCreate));

bwWrite(image);

bwClose();

//显示

thisImage1ImageUrl = strPath;

采用俩种方式可以根据实际需求灵活选择。

下载一个 Navicat for MySQL,这是个可视化的Mysql客户端。

配置mysql好服务器连接后

1把文件扩展名改为sql。右击Navicat for MySQL工具左侧连接,选中运行批次任务,找到creatsql文件,点开始。 或者你在cmd中运行mysql客户端,txt中的东西复制进去执行。

2,一般一个文件是一个项目的数据库吧? 如果他放在一个里面了, 那没办法,只能手动去挑。或者都创建,没害处。

3,右击Navicat for MySQL工具左侧连接中你要导出的数据库,转存sql文件。

soliworks打开你建好的模型。然后选择另存为,此时d出另存对话框,选择指定位置,重点文件类型选择mbd格式。选择保存文件,这时候保存的mbd格式文件就完成了。

SolidWorks是达索系统(Dassault Systemes )下的子公司,专门负责研发与销售机械设计软件的视窗产品,公司总部位于美国马萨诸塞州。达索公司是负责系统性的软件供应,并为制造厂商提供具有Internet整合能力的支援服务。该集团提供涵盖整个产品生命周期的系统,包括设计、工程、制造和产品数据管理等各个领域中的最佳软件系统,著名的CATIAV5就出自该公司之手,达索的CAD产品市场占有率居世界前列。

oracle和mysql都可以存储文件,使用clob字段就可以存储,但是建议不要用数据库存储太大的文件,效率不高,最好是用专门的存储设备保存文件,数据库中保存文件的路径,需要下载文件时,从数据库中读取路径信息,返回给你的后台代码,用代码在下载文件。

这样:

1 在控件页面中添加SOAOfficeCtrl的BeforeDocumentSaved事件处理和一个隐藏的input,注意要保持这个input的name属性在当前页面中是唯一的:

<input name="FileTxt" type="hidden">

<SCRIPT language="javascript" event="BeforeDocumentSaved(Document, Location, Cancel)" for="SOAOfficeCtrl">

documentgetElementsByName("FileTxt")[0]value = documentgetElementById("SOAOfficeCtrl")DocText;

</SCRIPT>

2 在处理文档保存的页面用RequestFormField 方法取出 input 的值:

SOAOfficeXSaveDocObj SOAObj = new ……

strText = SOAObjRequestFormField("FileTxt"); // 这样就可以取出 input 的值

以上就是关于如何将图片存到数据库全部的内容,包括:如何将图片存到数据库、javaweb 怎么可以让客户自己设计一个回单模板保存在数据库里,打印回单、sw怎么mbd格式保存数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9715345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存