将图像上传到桌面上的文件夹

Uploading an image to a folder in desktop

我无法将图像上传到指定文件夹。这是代码。

protected void btnSubmit_Click(object sender, EventArgs e)
{
    if (FileUploader.HasFile)
    {
        try
        {
             string filename = Path.GetFileName(FileUploader.FileName);
             FileUploader.SaveAs(@"D:\Users\SGG90745\Desktop\PICTURES" + filename);
             Label1.Text = "Uploaded Successfully!!";
        }
        catch (Exception ex)
        {
            Label1.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
        }
    }
}

当我点击上传时,标签确实如代码中所写的那样显示Uploaded Successfully!!,但图片不在代码中指定的文件夹中。请帮忙谢谢!

尝试将您的代码更改为

protected void btnSubmit_Click(object sender, EventArgs e)
{
    if (FileUploader.HasFile)
    {
        try
        {
             string filename = Path.GetFileName(FileUploader.FileName);
             FileUploader.SaveAs(@"D:\Users\SGG90745\Desktop\PICTURES\" + filename);
             Label1.Text = "Uploaded Successfully!!";
        }
        catch (Exception ex)
        {
            Label1.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
        }
    }
}

为了构建正确的文件名,我只是在 PICTURES 后添加了一个反斜杠。

在图片后面加一个\

protected void btnSubmit_Click(object sender, EventArgs e)
{
    if (FileUploader.HasFile)
    {
        try
        {
             string filename = Path.GetFileName(FileUploader.FileName);
             FileUploader.SaveAs(@"D:\Users\SGG90745\Desktop\PICTURES\" + filename);
             Label1.Text = "Uploaded Successfully!!";
        }
        catch (Exception ex)
        {
            Label1.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
        }
    }
}

问题是这一行:

FileUploader.SaveAs(@"D:\Users\SGG90745\Desktop\PICTURES" + filename);

添加斜线即可解决问题:

FileUploader.SaveAs(@"D:\Users\SGG90745\Desktop\PICTURES\" + filename);

一种与平台无关的修复方法是:

const string folder = @"D:\Users\SGG90745\Desktop\PICTURES" 
...
var path = folder + Path.DirectorySeparatorChar + filename;

最好的方法是:

const string folder = @"D:\Users\SGG90745\Desktop\PICTURES" 
...
var path = Path.Combine(folder, filename);