一个简单的文件上传(没有数据库的)
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);
}