用FileUpload上传文件,代码如下: protected void Button1_Click(object sender, EventArgs e)
{
string test = Server.MapPath("ImageFilesTemplate/" + DateTime.Now.ToString("yyyy-MM-dd")); //用来生成文件夹
if (!Directory.Exists(test))
{
Directory.CreateDirectory(test);
}
if (FileUpload1.PostedFile.FileName != "")
{
string imgname = FileUpload1.PostedFile.FileName;
string imgType = imgname.Substring(imgname.LastIndexOf(".") + 1);
string quanname = DateTime.Now.ToString("yyyyMMddHHmmss") + imgname.LastIndexOf("\\") + "." + imgType;
imgurl = "ImageFilesTemplate/" + DateTime.Now.ToString("yyyy-MM-dd") + "/" + quanname;
FileUpload1.PostedFile.SaveAs(Server.MapPath(imgurl));
}
}
HTML代码如下:
<td align="left" style="width: 20%; height: 26px">
<asp:FileUpload ID="FileUpload1" runat="server" /></td>
asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传" style="font-size: 12px; font-family: 华文中宋; background-color: #d0dbd0" />运行程序后,选中上传的文件点击Button1,就会提示"未将对象引用设置到对象实例",单步跟踪后发现FileUpload1.PostedFile.FileName出现的问题,各位高手请帮忙看看是什么原因?
{
string test = Server.MapPath("ImageFilesTemplate/" + DateTime.Now.ToString("yyyy-MM-dd")); //用来生成文件夹
if (!Directory.Exists(test))
{
Directory.CreateDirectory(test);
}
if (FileUpload1.PostedFile.FileName != "")
{
string imgname = FileUpload1.PostedFile.FileName;
string imgType = imgname.Substring(imgname.LastIndexOf(".") + 1);
string quanname = DateTime.Now.ToString("yyyyMMddHHmmss") + imgname.LastIndexOf("\\") + "." + imgType;
imgurl = "ImageFilesTemplate/" + DateTime.Now.ToString("yyyy-MM-dd") + "/" + quanname;
FileUpload1.PostedFile.SaveAs(Server.MapPath(imgurl));
}
}
HTML代码如下:
<td align="left" style="width: 20%; height: 26px">
<asp:FileUpload ID="FileUpload1" runat="server" /></td>
asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传" style="font-size: 12px; font-family: 华文中宋; background-color: #d0dbd0" />运行程序后,选中上传的文件点击Button1,就会提示"未将对象引用设置到对象实例",单步跟踪后发现FileUpload1.PostedFile.FileName出现的问题,各位高手请帮忙看看是什么原因?
修改为
string imgurl = "ImageFilesTemplate/" + DateTime.Now.ToString("yyyy-MM-dd") + "/" + quanname;
这里的FileUpload1.PostedFile.FileName不是这样用的,你可以创建FileInfo的实例来完成读取你的文件FileInfo f=FileInfo(FileUpload1.PostedFile.FileName);
然后才来获取你的文件名和拓展名
string name=f.Name;
string type=f.Extension;
然后再用Server.MapPath()定义保存的文件的路径,接着你保存你的文件,用SaveAs()
FileUp.SaveAs(this.MapPath(文件夹+文件名));
就行了呀~~
在监视窗口中显示FileUpload1.PostedFile为null,为什么会出现这种情况?
string imgname = FileUpload1.FileName;
再将FileUpload1.PostedFile.SaveAs(Server.MapPath(imgurl)); 换成
FileUpload1.SaveAs(Server.MapPath(imgurl));
就应该没有问题了!
if (fup.HasFile)
{
'判断有无文件,还需要判断文件大小是为零,还要判断扩展名是否正确,还要判断MIME类型是否正确..完..
}
那么也包含了 .jpg 或.gif 我的建议是 把你的 保存路径打出来看看
你就会知道是什么问题了另外权限也有关系的