我写了一小段上传文件的测试代码,很简单的,这段代码在我本机及其发布到其余4台机都是正常的,但是其中有台机不正常,报错如下:File1.PostedFile.ContentLength 未将对象应用到对象实例。
代码如下:
private void Button1_Click(object sender, System.EventArgs e)
{
try
{
if(File1.PostedFile.ContentLength==0)
{
Page.RegisterStartupScript( " ", " <script> alert( '请选择你要上传的文件! '); </script> ");
return;
}
else
{
string filename = File1.PostedFile.FileName;
Page.RegisterStartupScript( " ", " <script> alert( ' "+filename+ "+文件获取成功! '); </script> ");
}
}
catch(Exception ex)
{
Response.Write( "Error: " + ex.Message);
}
}
什么给form加上encType= "multipart/form-data "啊,给该网站目录加上ereryone读写权限啊等方法我都试过了,还是不行,不知道到底哪里出了问题,高手们快来帮帮我吧,搞了一天了,还是没搞掂,真的快要疯掉了。
------解决方案--------------------------------------------------------
if(File1.PostedFile.ContentLength==0)
在做这句之前,是不是应该判断一下
if (File1.HasFile)
------解决方案--------------------------------------------------------
去网上先找个例子看看
------解决方案--------------------------------------------------------
protected void Button1_Click(object sender, EventArgs e)
{
string fileName = " ";
string filePath = " ";
string fileClass = " ";
if (FileUpload1.HasFile)
{
fileName = FileUpload1.FileName;
fileClass = System.IO.Path.GetExtension(fileName);
filePath = Server.MapPath( "images/ ");
FileUpload1.SaveAs(filePath + fileName);
}
//string str = " ";
//str += "文件路径: " + filePath + fileName;
//str += " <br> 文件类型: " + fileClass;
//Label1.Text = str + " <br> ";
}