上传到服务器指定位置,路径保存到数据库的思路吧。求代码,谢谢了!!!
btw:DataGrid中怎样把图片按照指定格式显示?

解决方案 »

  1.   

    上传多文件到服务器,图片当然也可以
    http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C
      

  2.   

    private Boolean SaveFile()
    {

    HttpFileCollection files  = HttpContext.Current.Request.Files;
       
    try
    {
    for(int iFile = 0; iFile < files.Count; iFile++)
    {
    HttpPostedFile postedFile = files[iFile];
    string fileName;
    fileName=System.IO.Path.GetFileName(postedFile.FileName);
    if(fileName!="")
    {

    string FileOldName = Path.GetFileNameWithoutExtension(fileName);
    string FileNewName=Path.GetFileNameWithoutExtension(Path.ChangeExtension(Path.GetTempFileName(),Path.GetExtension(fileName)));
    string FileType=Path.GetExtension(fileName);
    string FileSize = postedFile.ContentLength.ToString();

    string rootPath=this.Request.PhysicalApplicationPath+"UploadedFiles"+@"\"+fileDiv;                   
    string subDirectory=@"\"+DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();

    CreateSubDirectory(rootPath + subDirectory);//创建目录
    postedFile.SaveAs(rootPath + subDirectory +@"\"+FileNewName+FileType);//上传附件' string FileDirectory = "UploadedFiles"+@"\"+fileDiv +subDirectory + @"\"+FileNewName+FileType;

    DBContextInfo dbi =DBContext.CreateConnection(Define.DBConntionKey);
    DAHelper helper = new DAHelper();
    strSQL="insert into info_File (FileOldName,FileNewName,FileType,FileSize,FilePath,UID,UserName) values ";
    strSQL+="('"+FileOldName+"','"+FileNewName+"','"+FileType+"','"+FileSize+"','"+FileDirectory+"','"+Session["USER_ID"].ToString()+"','"+Session["USER_NAME"].ToString()+"')";
    int k=helper.ExecuteNonQuery(dbi.Context,CommandType.Text,strSQL); //创建附件信息,(写入数据库)----还有关员号和关员姓名字段没添加

    strSQL="select @@identity";//取得最新添加的自增ID
    DataSet Ds=helper.ExecuteDataset(dbi.Context,CommandType.Text,strSQL);

    FileId+=Ds.Tables[0].Rows[0][0].ToString()+",";//用来判断增加了多少条记录
    }
    }
    return true;
    }
    catch(System.Exception Ex)
    {
    strStatus.Text = Ex.Message;
    Success_Lbl.Text="NO";   //用来判断附件是否成功上传
    return false;
    }
    }
    public void CreateSubDirectory(string path)//---------创建目录
    {
    DirectoryInfo directoryInfo=new DirectoryInfo(path);
    if(directoryInfo.Exists!=true)
    directoryInfo.Create();
    directoryInfo=null;
    }
      

  3.   

    路径保存到数据库的思路吧。-》上传成功后,写个数据库操作,将路径存入即可btw:DataGrid中怎样把图片按照指定格式显示?-》使用模板列来将图片显示,如:
    <asp:TemplateColumn Visible="False">
        <ItemTemplate>
            <img src="'<%# DataBinder.Eval(Container.DataItem, "Url") %>'">
        </ItemTemplate>
    </asp:TemplateColumn>
      

  4.   

    public void imgUpload()//上传图片
    {
    // Initialize variables
    string sSavePath;
                string sThumbExtension;
                int intThumbWidth;
                int intThumbHeight;
                     // Set constant values
                sSavePath = "images/";
                sThumbExtension = "_thumb";
    intThumbWidth = 120;
                intThumbHeight = 160;   
                 // If file field isn’t empty
    if (filUpload.PostedFile != null)
                {
    // Check file size (mustn’t be 0)
    HttpPostedFile myFile = filUpload.PostedFile;
    int nFileLen = myFile.ContentLength;
    if (nFileLen == 0)
    {
    /*lblOutput.Text = "No file was uploaded.";
    return;*/
    string nopic = "nopic.JPG";
    infoUp(nopic);
    return;
    }

    // Check file extension (must be JPG or GIF)
    if (System.IO.Path.GetExtension(myFile.FileName).ToLower() != ".jpg" & System.IO.Path.GetExtension(myFile.FileName).ToLower() !=".gif" &nFileLen != 0)
    {
    lblOutput.Text = "The file must have an extension of JPG or GIF";   
    return;
    }

    // Read file into a data stream       
    byte[] myData = new Byte[nFileLen];
    myFile.InputStream.Read(myData,0,nFileLen);

    // Make sure a duplicate file doesn’t exist.  If it does, keep on appending an 
                    // incremental numeric until it is unique
                    string sFilename = System.IO.Path.GetFileName(myFile.FileName);//得到上传文件名和扩展名
                    int file_append = 0;

    while (System.IO.File.Exists(Server.MapPath(sSavePath + sFilename)))
    {
    file_append++;
    if(System.IO.Path.GetExtension(myFile.FileName).ToLower() == ".jpg")//如果扩展名为".jpg"文件
    {
    sFilename = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName)
    + file_append.ToString() + ".jpg";
    }
    if(System.IO.Path.GetExtension(myFile.FileName).ToLower() == ".gif")//如果扩展名为".gif"文件
    {
    sFilename = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName)
    + file_append.ToString() + ".gif";
    }
    }

    // Save the stream to disk
    System.IO.FileStream newFile = new System.IO.FileStream(Server.MapPath(sSavePath + sFilename), 
                                                System.IO.FileMode.Create);
    newFile.Write(myData,0, myData.Length);
    newFile.Close();


    // Check whether the file is really a JPEG by opening it
    System.Drawing.Image.GetThumbnailImageAbort myCallBack = 
                            new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
    Bitmap myBitmap;
    try
    {
    myBitmap = new Bitmap(Server.MapPath(sSavePath + sFilename));
    // If jpg file is a jpeg, create a thumbnail filename that is unique.
    string sThumbFile = "";
    file_append = 0;
    if(System.IO.Path.GetExtension(myFile.FileName).ToLower() == ".jpg")
    {
     sThumbFile = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName)
    + sThumbExtension + ".jpg";
    }
    if(System.IO.Path.GetExtension(myFile.FileName).ToLower() == ".gif")
    {
     sThumbFile = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName)
    + sThumbExtension + ".gif";
    }

    while (System.IO.File.Exists(Server.MapPath(sSavePath + sThumbFile)))
    {
    file_append++;
    if(System.IO.Path.GetExtension(myFile.FileName).ToLower() == ".jpg")
    {
    sThumbFile = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName) + 
    file_append.ToString() + sThumbExtension + ".jpg";

    }
    if(System.IO.Path.GetExtension(myFile.FileName).ToLower() == ".gif")
    {
    sThumbFile = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName) + 
    file_append.ToString() + sThumbExtension + ".gif";

    }

    }  

    // Save thumbnail and output it onto the webpage
    System.Drawing.Image myThumbnail = myBitmap.GetThumbnailImage(intThumbWidth, 
    intThumbHeight, myCallBack, IntPtr.Zero);
    myThumbnail.Save (Server.MapPath(sSavePath + sThumbFile));

    infoUp(sThumbFile);//调用infoUp添加数据

    // Displaying success information
    lblOutput.Text = "File uploaded successfully!";
    // Destroy objects
    myThumbnail.Dispose();
    myBitmap.Dispose();
    }
    catch (ArgumentException errArgument)
    {
    // The file wasn't a valid jpg file
    lblOutput.Text = "The file wasn't a valid jpg file.";
    System.IO.File.Delete(Server.MapPath(sSavePath + sFilename));
    }

                 }
            }
    public bool ThumbnailCallback()
    {
    return false;
            }
      

  5.   

    晕,上面的代码是我用在实际开发中的一段;
    图片处理其实有很多问题,如果只是简单的把图片传到数据库就可以的话,那是没必要那么麻烦了.RealSmart () 你把你的邮箱地址给我
    我给你全部代码!
      

  6.   

    使用客户端的File Field控件上传图片 
    http://blog.csdn.net/sunnystar365/archive/2005/09/16/481963.aspx
    如何读取保存在数据库中的图片显示在DataGrid中 
    http://blog.csdn.net/sunnystar365/archive/2005/09/16/481994.aspx