这是我图片上传的代码.我的能够实现.图片存在本地硬盘.然后把:文件名.jpg存在数据库.其中文件名和数据库的是一样的.
private void Submit1_ServerClick(object sender, System.EventArgs e)
{

string path;
string FileName;
long FileSize;
string fType;
string ImageType ;

// ID=Convert.ToInt32 (Session["ID"].ToString ());
// UserName=Session["UserName"].ToString ();

if(File1.PostedFile.FileName.Trim ()!="")
{
if(this.txtTitle .Text =="" || this.txtRe .Text =="")
{
Page.RegisterStartupScript("提示信息","<script>alert('请填写资料完整');</script>");
return;
}
try
{
//获取用户上传文件的信息 ImageType = Path.GetExtension(File1.PostedFile.FileName).ToUpper(); 
FileName = DateTime.Now.ToString("yyyyMMddhhmmss"); 
path = Server.MapPath(".") + "/UpImages/" + FileName + ImageType; 
fType=File1.PostedFile.ContentType;
FileSize=File1.PostedFile .ContentLength; if(fType.Substring (0,5)!="image")
{
//Page.RegisterStartupScript("提示信息","<script>alert('不是images文件!');</script>");
this.lblInfo.Visible=true;
this.lblInfo.Text ="不是Images文件!";
return;

}
//将用户上传文件保存到服务器上
string strFileName=FileName+ImageType;
File1.PostedFile.SaveAs(path);
StrSql="insert into Photo(Filername,Filesize,UserName,Re,ClassID,Title) values('"+strFileName+"',"+FileSize+",'"+this.lblUserName.Text +"','"+this.txtRe .Text +"',"+Session["ClassID"].ToString ()+",'"+this.txtTitle.Text +"')";
MyDataOperate.ExecuteTable(StrSql);
this.lblInfo.Visible=true;
this.lblInfo .Text="图片上传成功!";
}

catch(Exception ex)
{
Page.RegisterStartupScript("提示信息","<script>alert('ex.Message');</script>");
}
}

解决方案 »

  1.   

    int i = image.LastIndexOf("\\") + 1;
                imageurl = "./images/" + image.Substring(i);
                FileStream fStreamRead = new FileStream(image, FileMode.Open, FileAccess.Read);
                byte[] buffer = new byte[1024];
                string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
                FileStream fStreamWrite = new FileStream(str+"/demo/images/" + image.Substring(i), FileMode.Create, FileAccess.Write);
                int end = 1;
                while (end != 0)
                {
                    end = fStreamRead.Read(buffer, 0, 1024);
                    fStreamWrite.Write(buffer, 0, 1024);
                }
                fStreamRead.Close();
                fStreamWrite.Close();