在ASP.NET中创建文件夹并将图像上传到该文件夹​​的最佳方法?

时间:2009-04-11 15:59:53

标签: c# asp.net vb.net image

关于如何创建文件夹的任何代码示例在我的root中说“pics”,然后将文件上传控件中的图像上传到“pics”文件夹中? 如果你不想给我所有的代码,我会很高兴有一个很好的链接也告诉我如何在VB.NET中完成(C#也没关系)。

3 个答案:

答案 0 :(得分:13)

尝试/抓住你:)

public void EnsureDirectoriesExist()
        {

                // if the \pix directory doesn't exist - create it. 
                if (!System.IO.Directory.Exists(Server.MapPath(@"~/pix/")))
                {
                    System.IO.Directory.CreateDirectory(Server.MapPath(@"~/pix/"));
                }

        }

        protected void Button1_Click(object sender, EventArgs e)
        {


                if (FileUpload1.HasFile && Path.GetExtension(FileUpload1.FileName) == ".jpg")
                {
                    // create posted file
                    // make sure we have a place for the file in the directory structure
                    EnsureDirectoriesExist();
                    String filePath = Server.MapPath(@"~/pix/" + FileUpload1.FileName);
                    FileUpload1.SaveAs(filePath);


                }
                else
                {
                    lblMessage.Text = "Not a jpg file";
                }


        }

答案 1 :(得分:2)

这是我将如何做到这一点。

    protected void OnUpload_Click(object sender, EventArgs e)
    {
        var path = Server.MapPath("~/pics");
        var directory = new DirectoryInfo(path);

        if (directory.Exists == false)
        {
            directory.Create();
        }

        var file = Path.Combine(path, upload.FileName);

        upload.SaveAs(file);
    }

答案 2 :(得分:0)

在文件夹中创建文件夹并上传文件

    DirectoryInfo info = new DirectoryInfo(Server.MapPath(string.Format("~/FolderName/") + txtNewmrNo.Text)); //Creating SubFolder inside the Folder with Name(which is provide by User).
    string directoryPath = info+"/".ToString();
    if (!info.Exists)  //Checking If Not Exist.
    {
        info.Create();
        HttpFileCollection hfc = Request.Files;
        for (int i = 0; i < hfc.Count; i++) //Checking how many files in File Upload control.
        {
            HttpPostedFile hpf = hfc[i];
            if (hpf.ContentLength > 0)
            {
                hpf.SaveAs(directoryPath + Path.GetFileName(hpf.FileName)); //Uploading Multiple Files into newly created Folder (One by One).
            }
        }
    }
    else
    {
        ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('This Folder already Created.');", true);
    }