【问题标题】:Uploading a file to server using c#使用 c# 将文件上传到服务器
【发布时间】:2023-03-06 00:53:01
【问题描述】:

我正在尝试将文件上传到我的服务器,之后我将在我的数据库中保存路径,但文件上传不起作用,它没有异常,但是当我检查我的文件夹时,我没有'看不到任何上传的文件 这是我的代码:

private void bBrowse_Click(object sender, EventArgs e)
    {
        long size = -1;
        string path = "";
        openFileDialog1.FileName = "";
        openFileDialog1.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"; 
        DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.
        if (result == DialogResult.OK) // Test result.
        {

            openFileDialog1.Title = "Attach speech assessment document";
            openFileDialog1.Filter = "Doc Files|*.doc|Docx File|*.docx|PDF doc|*.pdf";
            openFileDialog1.InitialDirectory = @"C:\";
            fileName = System.IO.Path.GetFileName(openFileDialog1.FileName);
            path = Path.GetDirectoryName(openFileDialog1.FileName);
            labelFileName.Text = path + "/" + fileName;


        }
        Console.WriteLine(path); // <-- Shows file path in debugging mode.

        Console.WriteLine(result); // <-- For debugging use.
    }

    private void buttonAdd_Click(object sender, EventArgs e)
    {
        try
        {
            WebClient client = new WebClient();

            NetworkCredential nc = new NetworkCredential("username", "password");

            Uri addy = new Uri(@"http://url/public_html/assessment" + fileName);

            client.Credentials = nc;
            byte[] arrReturn = client.UploadFile(addy, labelFileName.Text);
            MessageBox.Show(arrReturn.ToString());

        }
        catch (Exception ex1)
        {
            MessageBox.Show(ex1.Message);
        }

【问题讨论】:

  • 我注意到您的代码中可能存在一个错误;在 Uri addy 中,您指定了一个名为“assessment”的目录,而没有在其后添加“/”。您是否检查了父目录以查看文件是否在“url/public_html/assessment”中?
  • @WilliamCallahan 我添加了丢失的斜杠并检查了父目录,但里面仍然没有任何内容,不知道这里出了什么问题,因为这是我第一次尝试将文件上传到服务器
  • 非常感谢@WilliamCallahan :)

标签: c# mysql database winforms file-upload


【解决方案1】:

感谢@William 的评论,我解决了这个问题,我忘了添加斜线,我还在 url 中写了 http 而不是 ftp,这是主要错误!

编辑后的代码:

private void bBrowse_Click(object sender, EventArgs e)
    {
        long size = -1;
        string path = "";
        openFileDialog1.FileName = "";
        openFileDialog1.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"; 
        DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.
        if (result == DialogResult.OK) // Test result.
        {

        openFileDialog1.Title = "Attach speech assessment document";
        openFileDialog1.Filter = "Doc Files|*.doc|Docx File|*.docx|PDF doc|*.pdf";
        openFileDialog1.InitialDirectory = @"C:\";
        fileName = System.IO.Path.GetFileName(openFileDialog1.FileName);
        path = Path.GetDirectoryName(openFileDialog1.FileName);
        labelFileName.Text = path + "/" + fileName;


    }
    Console.WriteLine(path); // <-- Shows file path in debugging mode.

    Console.WriteLine(result); // <-- For debugging use.
}

private void buttonAdd_Click(object sender, EventArgs e)
{
    try
    {
        WebClient client = new WebClient();

        NetworkCredential nc = new NetworkCredential("username", "password");

        Uri addy = new Uri(@"ftp://url/public_html/assessment/" + fileName);

        client.Credentials = nc;
        byte[] arrReturn = client.UploadFile(addy, labelFileName.Text);
        MessageBox.Show(arrReturn.ToString());

    }
    catch (Exception ex1)
    {
        MessageBox.Show(ex1.Message);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2016-09-07
    • 2014-11-16
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多