第一次 作存图片 ~ 麻烦大家看看啦
<form id="form1" method="post" runat="server" enctype="multipart/form-data"> private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection conn=new SqlConnection("database=mydemo;server=.;pwd=sa;uid=sa");
SqlCommand cmd=new SqlCommand("select * from image where imgID='2'",conn);
conn.Open();
SqlDataReader dr=cmd.ExecuteReader();
dr.Read();
Response.ContentType=(string)dr["imgtype"]; // 这得的输出类型不是jpg
Response.OutputStream.Write((byte[])dr["imgdate"],0,31); //这的三个参数,后2个也不知道是什么...
Response.End();
conn.Close();
}
private void Button1_Click(object sender, System.EventArgs e)
{
Stream myStream=up_data.PostedFile.InputStream;
int imgLan=up_data.PostedFile.ContentLength;
string imgType=up_data.PostedFile.ContentType;
string imgTitle=up_data.Value.ToString();
byte [] imgdata=new byte[imgLan];
int n=myStream.Read(imgdata,0,imgLan);
SqlConnection conn=new SqlConnection("database=mydemo;server=.;pwd=sa;uid=sa");
SqlCommand cmd=new SqlCommand("insert image (imgtitle,imgtype,imgdate) values (@imgtitle,@imgtype,@imgdate)",conn);
cmd.Connection = conn;
conn.Open();
cmd.Parameters.Add(new SqlParameter("@imgtitle",SqlDbType.NVarChar,50));
cmd.Parameters["@imgtitle"].Value=imgTitle;
cmd.Parameters.Add(new SqlParameter("@imgtype",SqlDbType.NVarChar,50));
cmd.Parameters["@imgtype"].Value=imgType;
cmd.Parameters.Add(new SqlParameter("@imgdate",SqlDbType.Image,50));
cmd.Parameters["@imgdate"].Value=imgdata;
cmd.ExecuteNonQuery();
conn.Close();
}本想用image显示,现在连直接输出到页上也显示不出来..郁闷 在线等,解决马上给分
<form id="form1" method="post" runat="server" enctype="multipart/form-data"> private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection conn=new SqlConnection("database=mydemo;server=.;pwd=sa;uid=sa");
SqlCommand cmd=new SqlCommand("select * from image where imgID='2'",conn);
conn.Open();
SqlDataReader dr=cmd.ExecuteReader();
dr.Read();
Response.ContentType=(string)dr["imgtype"]; // 这得的输出类型不是jpg
Response.OutputStream.Write((byte[])dr["imgdate"],0,31); //这的三个参数,后2个也不知道是什么...
Response.End();
conn.Close();
}
private void Button1_Click(object sender, System.EventArgs e)
{
Stream myStream=up_data.PostedFile.InputStream;
int imgLan=up_data.PostedFile.ContentLength;
string imgType=up_data.PostedFile.ContentType;
string imgTitle=up_data.Value.ToString();
byte [] imgdata=new byte[imgLan];
int n=myStream.Read(imgdata,0,imgLan);
SqlConnection conn=new SqlConnection("database=mydemo;server=.;pwd=sa;uid=sa");
SqlCommand cmd=new SqlCommand("insert image (imgtitle,imgtype,imgdate) values (@imgtitle,@imgtype,@imgdate)",conn);
cmd.Connection = conn;
conn.Open();
cmd.Parameters.Add(new SqlParameter("@imgtitle",SqlDbType.NVarChar,50));
cmd.Parameters["@imgtitle"].Value=imgTitle;
cmd.Parameters.Add(new SqlParameter("@imgtype",SqlDbType.NVarChar,50));
cmd.Parameters["@imgtype"].Value=imgType;
cmd.Parameters.Add(new SqlParameter("@imgdate",SqlDbType.Image,50));
cmd.Parameters["@imgdate"].Value=imgdata;
cmd.ExecuteNonQuery();
conn.Close();
}本想用image显示,现在连直接输出到页上也显示不出来..郁闷 在线等,解决马上给分
解决方案 »
- c#Helpppppppppppppp
- c/s中用顾及到SQL注入么
- 怎样实现类似Sql 查询分析器的效果
- 求救:如何读出c#中控件的属性???
- WinForm DataGrid增加一列的问题
- 如何读取收藏夹里的快捷方式中的URL
- 调试出问题是怎么回事?
- Entity FrameWork 数据库表名是动态变化 的问题,OnModelCreating方法不执行
- 在WebForm中我这样连续打印CrystalReport报表(总共有6页)
- 请问RichTextBox中自定义超链接后字体颜色默认变蓝色了并且有下划线,怎么去掉这个下划线可改变超链接的颜色呀
- treeview中checkbox问题?
- 哪儿有免费的.net域名空间啊?(提供有意义的一定给分)
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.BufferOutput = false;Stream stream = null;
stream = ... //这里从数据库读取数据// 将图像流写入响应流中
const int buffersize = 1024 * 16;
byte[] buffer = new byte[buffersize];
int count = stream.Read(buffer, 0, buffersize);
while (count > 0) {
Response.OutputStream.Write(buffer, 0, count);
count = stream.Read(buffer, 0, buffersize);
}
SqlCommand myCommand = myConnection.CreateCommand();
myCommand.CommandText="Select ImageContentType, ImageData from image Where ImgID='"+strImageID+"'";
try
{
myConnection.Open();
SqlDataReader myDataReader;
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
if (myDataReader.Read())
{
Response.Clear();
Response.ContentType = myDataReader["ImageContentType"].ToString();
Response.BinaryWrite((byte[])myDataReader["ImageData"]);
}
myConnection.Close();
}
catch (SqlException SQLexc)
{
Response.Write("提取数据时出现错误:" + SQLexc.ToString());
}
Response.End();
Response.BinaryWrite((byte[])myDataReader["ImageData"]);
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=调试跟踪这两句的输出内容都不对的
ContentType ... 是text 和 html
BinaryWrite... 是 System.Web.HttpResponse(Response).binaryWrite+0 ...不会...
http://dotnet.aspx.cc/article/ey1xldyv-pidf-43lo-1wfl-fmy5ale1f635/read.aspx
SqlConnection myConnection = new SqlConnection(strCnn);
SqlCommand command = new SqlCommand("select * from UserPhoto Where id =" + Request.QueryString["id"], myConnection);
myConnection.Open();
SqlDataReader dr = command.ExecuteReader();
if (dr.Read())
{
Response.Clear();
Response.AddHeader("Content-Type", dr["ContentType"].ToString());
Response.BinaryWrite((byte[])dr["Photo"]);
}
dr.Close();
myConnection.Dispose();-=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-
章哥 显示图片的方法和我一样 还是显示不出来的
System.Data.SqlClient.SqlDataReader dr=cm.ExcuteDataReader();
if(dr.read())
{
b=(byte[])dr["imagefield"];
}
System.IO.MemoryStream ms=new System.IO.MemoryStream();
ms.Write(b,0,b.Length-1);
this.Image1.Image=new System.Drawing.Bitmap(ms);
#region 從二進制中讀出圖片
/// <summary>
/// 從二進制中讀出圖片
/// </summary>
/// <param name="idno">工號</param>
/// <returns></returns>
private string GetImageURL(string idno)
{
string strReturnPath = "";
string connStr = "...";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sqlStr = "select ...";
SqlCommand cmd = new SqlCommand(sqlStr, conn);
SqlDataReader reader;
byte[] data = new byte[100];//二進制數組
reader = cmd.ExecuteReader();
while (reader.Read())
{
data = (byte[])reader[0];//圖片的二進制
}
if (data.Length > 100)
{
MemoryStream ms = new MemoryStream();//定義一個流
ms.Write(data, 0, data.Length);//將二進制寫入流
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);//放入IMG對象中
Bitmap bitmap = new Bitmap(img);
if (!System.IO.Directory.Exists(strLocalPath))//判斷是否存在這個文件夾
System.IO.Directory.CreateDirectory(strLocalPath);
if (!System.IO.File.Exists(strLocalPath + idno + ".jpg"))//文件夾裡有就不用保存,否則會出錯
bitmap.Save(strLocalPath + idno + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);//保存的相對路徑
bitmap.Dispose();
strReturnPath = strLocalPath + idno + ".jpg";// 返回相對路徑
}
reader.Close(); return strReturnPath;//返回一個物理圖片路徑
}
#endregion Response.Write(strReturnPath);//看看效果吧