我也遇到过类似的问题呢,谁让咱们是新手呢。不过有人给了我两个参考网站,然后摸索着就解决了问题。可以参考一下http://zhidao.baidu.com/question/1381619597368002820.html?quesup2&oldq=1。主要还是用filestream来实现图片的二进制上传,和用memorystream来实现图片的下载和预览。不过我的界面和你的不大一样。呵呵。cnblogs博客园里有N多类似的代码和说明。亲可以去看一下。另外晒一下我的界面。呵呵
讲图片的相对路径放到数据库里,把图片放到项目里。调用数据库里的相对路径就可以看的到
public void Upload(string path, System.Web.UI.WebControls.FileUpload fileupload)
{
bool fileOK = false;
if (FileUpload1.HasFile)
{
string fileException = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
//获取指定路劲字符串的后缀名,并转化为小写
string[] allowExcption = { ".jpg", ".jpeg", ".bmp",".gif" };
//定义允许的后缀名
for (int i = 0; i < allowExcption.Length; i++)
{
if (fileException == allowExcption[i])
{
fileOK = true;
}
}
}
if (fileOK)
{
//判断文件是否存在,若不在则创建路径
if (System.IO.Directory.Exists(path))
{
//MessageBox.Show("该目录已经存在","信息提示");
}
else
{
System.IO.Directory.CreateDirectory(path);//创建文件路径
}
fileupload.SaveAs(path + "\\" + fileupload.FileName);//上传文件
}
else
{
Response.Write("");
return;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string serverpath = Server.MapPath("~/ImageFile");
string imapath = "~/ImageFile/" + FileUpload1.FileName;
Upload(serverpath, this.FileUpload1);
Image1.ImageUrl = imapath;
serverpath = Server.MapPath("~/ImageFile");
imapath = "~/ImageFile/" + FileUpload1.FileName;
Image1.ImageUrl = imapath;
Upload(serverpath, this.FileUpload1);
}
这部分是调用的(预览的功能),你要上传的话改成数据库操作就可以了,存放上传的路劲,文件的话她会自动生成文件夹放在里面的。你修改下应该就可以了