且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在没有ftp的情况下将文件复制到c#中的远程服务器

更新时间:2022-11-04 12:52:01

这是



客户代码

This is the

CLIENT CODE
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string fileToUpload = Server.MapPath("~/Files/Ricky_Martin_Livin_la.mp3");
        string uploadUrl = "http://localhost/soundcheck/uploadfiles.aspx";
        //string uploadUrl = "http://10.0.2.2/musicapp/handle_upload.php";
        FileStream rdr = new FileStream(fileToUpload, FileMode.Open);
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uploadUrl);
        req.Method = "PUT"; // you might use "POST"
        req.ContentLength = rdr.Length;
        req.AllowWriteStreamBuffering = true;

        Stream reqStream = req.GetRequestStream();

        byte[] inData = new byte[rdr.Length];

        // Get data from upload file to inData 
        int bytesRead = rdr.Read(inData, 0, int.Parse(rdr.Length.ToString()));
        // put data into request stream
        reqStream.Write(inData, 0, int.Parse(rdr.Length.ToString()));

        rdr.Close();
        req.GetResponse();

        // after uploading close stream 
        reqStream.Close();
    }
}





服务器代码





SERVER CODE

using System;
using System.Collections;
using System.IO;
using System.Data;
using System.Web;
using System.Text;
using System.Web.Security;

public partial class uploadfiles : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            LogInFile("First");
            HttpFileCollection uploadFile = Request.Files;
            LogInFile("Second");
            if (uploadFile.Count > 0)
            {
                HttpPostedFile postedFile = uploadFile[0];
                LogInFile("Thrid");
                System.IO.Stream inStream = postedFile.InputStream;
                LogInFile("Forth");
                byte[] fileData = new byte[postedFile.ContentLength];
                LogInFile("Fifth");
                inStream.Read(fileData, 0, postedFile.ContentLength);
                LogInFile("Sixth");
                postedFile.SaveAs(Server.MapPath("Data") + "\\" + postedFile.FileName);
            }        
        }
        catch (Exception ex)
        { 
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("Message : " +ex.Message);
            sb.AppendLine("Source : " + ex.Source);
            sb.AppendLine("StackTrace : " + ex.StackTrace);
            sb.AppendLine("InnerException : " + ex.InnerException);
            sb.AppendLine("ToString : " + ex.ToString());

            LogInFile(sb.ToString());
        }
    }
    public void LogInFile(string str)
    {
        StringBuilder sb = new StringBuilder();
        using (StreamReader sr = new StreamReader(Server.MapPath("Data") + "\\expfile.txt"))
        {            
            sb.AppendLine("= = = = = =");
            sb.Append(sr.ReadToEnd());
            sb.AppendLine();
            sb.AppendLine();
        }
        sb.AppendLine(str);
        using (StreamWriter outfile = new StreamWriter(Server.MapPath("Data") + "\\expfile.txt"))
        {
            outfile.Write(sb.ToString());
        }
    }
}