我要从客户端把文件上传到服务器上,或从服务器把文件下载到客户端
这种功能在ASP.NET中是如何实现的
希望得到详解
谢谢

解决方案 »

  1.   

    <input type="file" id ="file1" runat= "server">
    Dim filename, filepath As String
            filename = Path.GetFileName(file1.PostedFile.FileName)
            filepath = Server.MapPath("upload\news\") & filename
            uploadfile.PostedFile.SaveAs(filepath)
            Label1.Text = "上传成功!"
      

  2.   

    使用fileupload控件不就可以了吗?
      

  3.   

    我是新手,感觉cpp2017(慕白兄)说的比较全,但还是没有弄懂
      

  4.   

    上传:直接在上传BUTTON 里写他上面的CODE就行了..
    下载: 给个链接路径就行了(要下载文件的路径)
      

  5.   

    VS.net2005中的HTML控件INPUT(FILE)并把它转成服务器控件,就可以上传了!下载吗:超连结就行了
      

  6.   

    你先在Internet信息服务中新建一个默认Ftp网站。 OleDbParameter ContentsParas = new OleDbParameter("@FileBody",OleDbType.Binary);
    ContentsParas.Value = FileBody;
    OleDbParameter[] Paras = {ContentsParas};
    this.SqlExecuteNonQuery(strSql,Paras);
    private void SqlExecuteNonQuery(string strSqltext,OleDbParameter[] parameters)
    {
    string connectionstring = System.Configuration.ConfigurationSettings.AppSettings["FileSQL"].ToString();// "Provider=SQLOLEDB;data source=DDZ/DDZ;initial catalog=Exam;persist security info=False;user id=sa;password=";//System.Configuration.ConfigurationSettings.AppSettings["strSqlServerConnection"];
    OleDbConnection cnn = new OleDbConnection(connectionstring);
    OleDbCommand cmm = new OleDbCommand(strSqltext,cnn);
    cmm.CommandText = strSqltext;
    foreach(OleDbParameter param in parameters)
    {
    cmm.Parameters.Add(param);
    } cnn.Open();
    cmm.ExecuteNonQuery();
    cnn.Close();
    }
      

  7.   

    下载:
    DataBaseType = System.Configuration.ConfigurationSettings.AppSettings["DataBaseType"].ToString();
    string FileType;
    string strSql = "SELECT * FROM JXNF_FILE WHERE FILEID="+RecordId;
    DataTable dt = Util.DBFactory.NonTransactionPowerPlant.ExecuteDataTable(strSql); 
    //System.Collections.Specialized.NameValueCollection myCollection = Util.DBFactory.NonTransactionPowerPlant.ExecuteNameValueCollection(strSql); 
    byte[] FileByte;
    int len;
    MemoryStream myStream; //创建其支持存储区为内存的流
    if (!Object.Equals(dt.Rows,null))
    {
    myStream = new MemoryStream();
    FileType = dt.Rows[0]["FileType"].ToString();
    FileByte = (byte[])dt.Rows[0]["FileContent"]; 

    myStream.Write (FileByte, 0, FileByte.Length);
    len = FileByte.Length; Response.ClearHeaders();
    Response.ContentType = FileType;
    Response.OutputStream.Write(FileByte, 0, len);
    Response.Flush();
    myStream.Close ();
    }
      

  8.   

    private void btnup_Click(object sender, System.EventArgs e)
    {
    string MyUploadDir;
    int i;
    string Title=TxtTitle.Text;
    //Response.Write (Title);
    //Response.End();
    if(Title.Length==0)
    {
    Response.Write("<script>alert('请填写文件标题!');history.back();</script>");
    Response.End();} MyUploadDir=Server.MapPath("") + "\\System";
    DirectoryInfo Target=new DirectoryInfo(MyUploadDir);
    if(!Target.Exists)
    {Directory.CreateDirectory(MyUploadDir);}
    System.Web.HttpFileCollection MyFileColl = Request.Files;
    //Response.Write (MyFileColl.Count);
    //Response.End();
    for(i=0;i<MyFileColl.Count;i++)
    {
    int j = MyFileColl[i].FileName.LastIndexOf('\\');
    string File_Name_NoPath=MyFileColl[i].FileName.Substring(j);
    string LocalFile = MyUploadDir + File_Name_NoPath;
    System.IO.FileInfo fi = new System.IO.FileInfo(LocalFile);
    if(fi.Exists)
    {
        Response.Write("<script>alert('您上传的文件已经存在!请更换文件名!');history.back();</script>");
    Response.End();}
    else
    {
    char[] MyChar = {'\\'};
    File_Name_NoPath=File_Name_NoPath.TrimStart(MyChar);
    File_Name_NoPath="/jpgl/System/"+File_Name_NoPath;
    //Response.Write(strInsert);
    //Response.End();
    MyFileColl[i].SaveAs(LocalFile);
    string strInsert="insert into jp_system(jp_systitle,jp_sysaddress) values ( '"+Title+"','"+File_Name_NoPath+"') ";
    //Response.Write(strInsert);
    //Response.End();
    SqlConnection MyConnection= new SqlConnection(strConnection);
    MyConnection.Open ();
    SqlCommand MyCommand=new SqlCommand(strInsert,MyConnection);
    MyCommand.ExecuteNonQuery();
    //MyConnection.Close();
    }
    }
      

  9.   

    把下载的连接放在panel里吧?合法就显示这个,不合法就不显示。。