一份.doc的word文档,我如何才能将其内容(包括图片)全部保存到数据库的某个字段里头去呢? 我现在有一份word文档,有文字,图片,超连接等,我可以写程序将其内容全部存到数据库的某一个字段里去吗?而且是图片也一同保存.不用再拷贝出来以文件形式保存谢谢各位 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把文件读为一个MemoryStream,就可以存为Sql server中的image类型(事实上是通用的二进制类型)或Access的对象类型了。 楼住 需要的方法太苛刻了 要是用2进字的话 SQL的代码要200行 你还纯路径吧 private void btnUpload_Click(object sender, CommandEventArgs e) { System.Web.HttpPostedFile uploadedFile = Request.File["photo"];}这样的方法多号啊 用个客户端空件 就好了 呵呵 以下是一个上传文件,保存到数据库的blob字段,并且显示出来的示例,数据库为oracle,楼主可自行更改尝试.写入数据库//上传if(myFile.ContentLength != 0){ try { System.Web.HttpPostedFile myFile = this.Request.Files[0];// string tmpFileName = myFile.FileName;// string myFileName = tmpFileName.Substring(tmpFileName.LastIndexOf("."));// string myFileMimeType = myFile.ContentType();// myFile.SaveAs(this.Server.MapPath("../" + myFileName)); //读取到数组里面 System.IO.Stream mystream = myFile.InputStream; byte[] Buffer = new byte[myFile.ContentLength]; mystream.Read(Buffer,0,myFile.ContentLength); //打开数据库 OracleConnection cn = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]); cn.Open(); //用参数方式写入数据库 OracleCommand myComm = cn.CreateCommand(); string sql = "insert into tmp(tmp_id,tmp_blob) values(tmp_seq.nextval,:tmp_blob)"; myComm.CommandText = sql; myComm.Parameters.Add(":tmp_blob",OracleType.Blob,Buffer.Length).Value = Buffer; myComm.ExecuteNonQuery(); } catch { //此处可加错误显示 } finally { cn.Close(); }}在页面中,放一个Image控件,在后台指定它的链接地址如下:----------------------------------------------------------------------//为方便,写一个固定ID号tmp_id=103this.Image1.ImageUrl = "showimg.aspx?tmp_id=103" ;下面是显示图片的页面showimg.aspx后台代码,该页面不需要放任何东西.--------------------------------------------------------------------//创建数据库连接OracleConnection myConnection = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);myConnection.Open();//打开数据库OracleCommand myCommand = myConnection.CreateCommand();string sql = "select tmp_blob from tmp where tmp_id = 103";myCommand.CommandText = sql;OracleDataReader myRead = myCommand.ExecuteReader();//开始读取myRead.Read();//这个方法更直接Byte[] Buffer = (Byte[])myRead[0];//OracleLob myLob = myRead.GetOracleLob(0);//长度是long,转为int32//int myLength = Convert.ToInt32(myLob.Length); //Byte[] Buffer = new byte[myLength]; //myLob.Read(Buffer,0,myLength);//输出this.Response.Clear();//输出mime类型,根据上传的文件取到的mimetype,是什么我忘记了this.Response.ContentType = "";this.Response.BinaryWrite(Buffer);this.Response.End(); 配置错误,请前辈指点 datatable和表的问题 execle问题 SELECT * FROM [Sheet1$] 如果动态获取sheet1$ DIV浮动显示??? 请教一个关于客户端访问服务器上视频文件,却无法在线播放的问题.在线等``` 关于登陆的问题 asp.net里面如何打开一个文件 一个.NET程序员的痛苦? 高分求一正则表达式,比较难 我想去掉DateTime.today后面的000 DATAGRID的问题! asp.net(c#)中如何利用RadioButton实现评分?
private void btnUpload_Click(object sender, CommandEventArgs e)
{
System.Web.HttpPostedFile uploadedFile = Request.File["photo"];
}
这样的方法多号啊 用个客户端空件 就好了 呵呵
写入数据库//上传
if(myFile.ContentLength != 0)
{
try
{
System.Web.HttpPostedFile myFile = this.Request.Files[0];
// string tmpFileName = myFile.FileName;
// string myFileName = tmpFileName.Substring(tmpFileName.LastIndexOf("."));
// string myFileMimeType = myFile.ContentType();
// myFile.SaveAs(this.Server.MapPath("../" + myFileName)); //读取到数组里面
System.IO.Stream mystream = myFile.InputStream;
byte[] Buffer = new byte[myFile.ContentLength];
mystream.Read(Buffer,0,myFile.ContentLength); //打开数据库
OracleConnection cn = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
cn.Open(); //用参数方式写入数据库
OracleCommand myComm = cn.CreateCommand();
string sql = "insert into tmp(tmp_id,tmp_blob) values(tmp_seq.nextval,:tmp_blob)";
myComm.CommandText = sql;
myComm.Parameters.Add(":tmp_blob",OracleType.Blob,Buffer.Length).Value = Buffer;
myComm.ExecuteNonQuery();
}
catch
{
//此处可加错误显示
}
finally
{
cn.Close();
}
}
在页面中,放一个Image控件,在后台指定它的链接地址如下:
----------------------------------------------------------------------
//为方便,写一个固定ID号tmp_id=103
this.Image1.ImageUrl = "showimg.aspx?tmp_id=103" ;
下面是显示图片的页面showimg.aspx后台代码,该页面不需要放任何东西.
--------------------------------------------------------------------
//创建数据库连接
OracleConnection myConnection = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
myConnection.Open();//打开数据库
OracleCommand myCommand = myConnection.CreateCommand();
string sql = "select tmp_blob from tmp where tmp_id = 103";
myCommand.CommandText = sql;
OracleDataReader myRead = myCommand.ExecuteReader();//开始读取
myRead.Read();
//这个方法更直接
Byte[] Buffer = (Byte[])myRead[0];
//OracleLob myLob = myRead.GetOracleLob(0);
//长度是long,转为int32
//int myLength = Convert.ToInt32(myLob.Length);
//Byte[] Buffer = new byte[myLength];
//myLob.Read(Buffer,0,myLength);//输出
this.Response.Clear();
//输出mime类型,根据上传的文件取到的mimetype,是什么我忘记了
this.Response.ContentType = "";
this.Response.BinaryWrite(Buffer);
this.Response.End();