一个简单的文件上传(没有数据库的)

protected void cmdUpload_Click(object sender, EventArgs e)
    {
        // Check if a file was submitted.
        if (Uploader.PostedFile.ContentLength != 0)
        {
            try
            {
                if (Uploader.PostedFile.ContentLength > 1048576)
                {
                    //这里限制文件的大小
                    //文件最大上传限于4MB
                    //如果还要更大,在web.conf文件中<httpRuntime>设置的maxRequestLength特性。这个设置以千字节为单位,所以<httpRuntime maxRequestLength="8192"/>把最大文件大小设为8MB。通过限制大小,可以防止试图占用web服务器硬盘的拒绝
                    lblStatus.Text = "Too large. This file is not allowed";
                }
                else
                {
                    //上传到Upload路径下
                    string destDir = Server.MapPath("./Upload");

 

                    //获取文件名
                    string fileName = System.IO.Path.GetFileName(
                      Uploader.PostedFile.FileName);

                   
                    string destPath = System.IO.Path.Combine(destDir, fileName);

                    // 保存到服务端
                    Uploader.PostedFile.SaveAs(destPath);
                    lblStatus.Text += "Thanks for submitting your file.";

                    // 显示内容,如果文件过大,不要用ReadToEnd(),
                    StreamReader r = new StreamReader(Uploader.PostedFile.InputStream);
                    lblStatus.Text += r.ReadToEnd();
                    r.Close();
                }
            }
            catch (Exception err)
            {
                lblStatus.Text = err.Message;
            }
        }

    }

 

我们可以创建全球唯一标识符

private string GetFileName()
    {
        // Create a unique filename.
        string fileName = @"Log\user." +
            Guid.NewGuid().ToString();

 

        // Put the file in the current web application path.
        return Path.Combine(Request.PhysicalApplicationPath, fileName);
    }

posted @ 2010-11-11 08:33  gull  Views(386)  Comments(0Edit  收藏  举报