http://www.ourasp.net/content.asp?kind=ASPPLUS&title=把图像文件上传到数据库,并从数据库读出/&keyword=关键字
解决方案 »
- 上传速度慢(在只装.net framework的电脑上运行,上传东西就慢了)
- asp.net中ajax json问题,求解
- 无法将类型“int”隐式转换为“System.Data.SqlClient.SqlDataReader”是怎么回事啊?
- 关于 试图对无法访问的主机执行套接字操作 的问题
- DataGrid 数据绑定问题 急~
- Membership.CreateUser(username,password,email)报InvalidPassword错误
- 关于datalist嵌套
- 像这样的图如何画?横坐票与众坐票数据都来自于数据库,谢谢 ,急!
- 请问各位一般怎样判断会话状态信息应该保存在哪的?
- 求教!vs项目中JS文件堆栈空间不足问题!
- 怎么总出现这个问题,急死了!!!
- 求教:详细解释一下ASP.net中如何使用session(C#)
using System.Web;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace UploadImage
{
public class UploadImage:Page{
protected HtmlInputFile up_file;
protected TextBox txtDescription;
protected Label txtMessage;
protected Int32 fileLength=0;
protected void Button_Submit(System.Object sender,System.EventArgs e){
HttpPostedFile UpFile=up_file.PostedFile;
fileLength=UpFile.ContentLength;
try{
if(fileLength==0){
txtMessage.Text="<b>请你选择你要上传的文件</b>";
}
else{
Byte[] FileByteArray=new Byte[fileLength];
Stream StreamObject=UpFile.InputStream;
StreamObject.Read(FileByteArray,0,fileLength);
SqlConnection Con=new SqlConnection("Data Source=Localhost;Initial Catalog=DBImages;uid=sa;pwd=;");
string SqlCmd="insert into image(ImageData,ImageContentType,ImageDescription,ImageSize)values(@Image,@ContentType,@ImageDescription,@ImageSize)";
SqlCommand CmdObj=new SqlCommand(SqlCmd,Con);
CmdObj.Parameters.Add("@Image",SqlDbType.Binary,fileLength).Value=FileByteArray;
CmdObj.Parameters.Add("@ContentType",SqlDbType.VarChar,50).Value=UpFile.ContentType;
CmdObj.Parameters.Add("@ImageDescription",SqlDbType.VarChar,200).Value=txtDescription.Text;
CmdObj.Parameters.Add("@ImageSize",SqlDbType.BigInt,8).Value=UpFile.ContentLength;
Con.Open();
CmdObj.ExecuteNonQuery();
Con.Close();
txtMessage.Text="<p><b>OK!你已经成功上传你的图片</b>";
}
}
catch(Exception ex){
txtMessage.Text=ex.Message.ToString();
}
}
}
}
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace ReadImage{
public class MainDisplay:System.Web.UI.Page{
void Page_Load(System.Object sender,System.EventArgs e){
int ImgID=Convert.ToInt32(Request.QueryString["ImgID"]);
SqlConnection Con=new SqlConnection("Data Source=localhost;Initial Catalog=DBImages;uid=sa;pwd=;");
string SqlCmd="select * from image where ImageID=@ImageID";
SqlCommand CmdObj=new SqlCommand(SqlCmd,Con);
CmdObj.Parameters.Add("@ImageID",SqlDbType.Int).Value=ImgID;
Con.Open();
SqlDataReader SqlReader=CmdObj.ExecuteReader();
if(SqlReader.Read()){
Response.ContentType=(string)SqlReader["ImageContentType"];
Response.BinaryWrite((byte[])SqlReader["ImageData"]);
}
Con.Close();
}
}
}
我按着这种方法去做,为什么图片显示不出来,看上去就象图片有问题。是不是在上传时图片二进制数据添加不全,还是显示的时候有问题?