asp.net上传文件到服务器指定文件夹问题

2024-12-21 13:21:50
推荐回答(2个)
回答1:

protected void Button1_Click(object sender, EventArgs e)
{
//上传头像,并显示
if (this.File1.PostedFile.ContentLength != 0)
{
if (File1.Value != "")
{
string strfile = this.File1.PostedFile.FileName;//得到的是文件的完整路径,包括文件名
// string strfile=this.File1.Filename;//得到的是上传的文件名
int filepos = strfile.LastIndexOf(".");//获取后缀名
String strfilename = strfile.Substring(filepos);//截取后缀名
string time1 = System.DateTime.Now.ToString("yyyyMMddHHmmssffff");//获取时间
string filesavepath = Server.MapPath("a") + "\\" + time1 + strfilename;//保存的路径和文件名,后缀名

this.File1.PostedFile.SaveAs(filesavepath);
//image1.Src = filesavepath;//file文件名
image1.Src = "a"+ "\\" + time1 + strfilename;//http文件名
Response.Write(filesavepath);
}
}

我的这个是上传图片的代码
但是 你想实现的上传文件 和这个差不多
需要的是你自己去尝试

给你以下需要的代码:
protected void Button1_Click(object sender, EventArgs e)
{

try
{
if (FileUpload1.PostedFile.FileName == "")
{
Response.Write("");
return;
}
else
{
//获取上传文件的路径
string filepath = FileUpload1.PostedFile.FileName;
// 获取上传文件名称
string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);
//保存到服务器的路径
string serverpath = Server.MapPath("Files/") + filename;
//确定上传文件
FileUpload1.PostedFile.SaveAs(serverpath);
//以下操作是将上传文件信息保存到数据库中
SqlConnection mycon = new SqlConnection("server=(local);user id=sa;pwd=;Database=mrdb");
mycon.Open();
SqlCommand mycomm = new SqlCommand("insert into tb_files(name,fileload) values('" + filename + "','" + serverpath + "')", mycon);
mycomm.ExecuteNonQuery();
mycon.Close();
Response.Write("");
}

}
catch (Exception error)
{
Response.Write(error.Message.ToString());
}
}

...............................
有些问题需要你去考虑:上传重名文件怎么办呢?
FileUpload1.PostedFile.SaveAs(@"D:\Program Files\" + file.FileName);
//仅仅是更改了一下存储目录!@~

回答2:

这个比较麻烦 因为你程序的用户不一定拥有别的盘符的写入权限之类的。
最好的是在你程序下面,并且你的程序下的某个文件夹有写入权限,这样你才能上传