| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 984 人关注过本帖
标题:文件的上传
只看楼主 加入收藏
jflin
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-5-17
收藏
 问题点数:0 回复次数:7 
文件的上传

我的代码是这样写:
if(FileImage.PostedFile.FileName!="")
{

try
{
string sFileName=FileImage.PostedFile.FileName;
//查找最后一个"\" 的位置
int i=sFileName.LastIndexOf ("\\");
//取出文件名
string sName=sFileName.Substring (i+1);//

string savePath =Server.MapPath("../ProductImages") + "/" + sName; //生成保存的物理路径
if(System.IO .File.Exists(savePath))
{
lblMsg.Text="已有同名文件";
}
else
{
FileImage.PostedFile.SaveAs(savePath); //保存文件

}
}
catch
{
lblMsg.Text="上传文件失败";
}


在选择了文件之后,点上传按钮出现了如下问题:

未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 49: private void Button1_ServerClick(object sender, System.EventArgs e)
行 50: {
行 51: if(FileImage.PostedFile.FileName!="")///红色字体显示
行 52: {
行 53:



请问应该怎么解决这个问题,谢谢

搜索更多相关主题的帖子: string 文件 sFileName FileImage 
2007-03-26 20:30
windstores
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-3-25
收藏
得分:0 

前台页面程序呢?吧其他程序都帖出来


哇咔咔.. 偶系菜鸟....
2007-03-26 21:13
桂圆
Rank: 1
等 级:新手上路
威 望:1
帖 子:101
专家分:0
注 册:2006-5-15
收藏
得分:0 
[CODE]
if(IsPostBack)
{
Boolean fileOK = false;
String path = Server.MapPath("~/UploadedImages/");
if (FileUpload1.HasFile)
{
String fileExtension =
System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
String[] allowedExtensions =
{".gif", ".png", ".jpeg", ".jpg"};
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (fileExtension == allowedExtensions[i])
{
fileOK = true;
}
}
}

if (fileOK)
{
try
{
FileUpload1.PostedFile.SaveAs(path
+ FileUpload1.FileName);
Label1.Text = "File uploaded!";
}
catch (Exception ex)
{
Label1.Text = "File could not be uploaded.";
}
}
else
{
Label1.Text = "Cannot accept files of this type.";
}
}


[/CODE]

2007-03-26 22:18
桂圆
Rank: 1
等 级:新手上路
威 望:1
帖 子:101
专家分:0
注 册:2006-5-15
收藏
得分:0 
记得要创建一个UploadedImages 文件夹

2007-03-26 22:18
jflin
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-5-17
收藏
得分:0 
照桂圆这样写提示下面的错误:
c:\inetpub\wwwroot\wangluo\upload.aspx.cs(57,9): error CS0117: “System.Web.UI.HtmlControls.HtmlInputFile”并不包含对“HasFile”的定义
c:\inetpub\wwwroot\wangluo\upload.aspx.cs(60,35): error CS0117: “System.Web.UI.HtmlControls.HtmlInputFile”并不包含对“FileName”的定义
c:\inetpub\wwwroot\wangluo\upload.aspx.cs(77,10): error CS0117: “System.Web.UI.HtmlControls.HtmlInputFile”并不包含对“FileName”的定义
2007-03-27 10:05
foshan
Rank: 1
等 级:新手上路
威 望:2
帖 子:605
专家分:0
注 册:2006-3-1
收藏
得分:0 

using System.IO;


我是2.0超级菜鸟,请多多教导!
2007-03-27 12:07
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
以下是引用jflin在2007-3-26 20:30:07的发言:

我的代码是这样写:
if(FileImage.PostedFile.FileName!="")
{

try
{
string sFileName=FileImage.PostedFile.FileName;
//查找最后一个"\" 的位置
int i=sFileName.LastIndexOf ("\\");
//取出文件名
string sName=sFileName.Substring (i+1);//

string savePath =Server.MapPath("../ProductImages") + "/" + sName; //生成保存的物理路径
if(System.IO .File.Exists(savePath))
{
lblMsg.Text="已有同名文件";
}
else
{
FileImage.PostedFile.SaveAs(savePath); //保存文件

}
}
catch
{
lblMsg.Text="上传文件失败";
}


在选择了文件之后,点上传按钮出现了如下问题:

未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 49: private void Button1_ServerClick(object sender, System.EventArgs e)
行 50: { //这个???
行 51: if(FileImage.PostedFile.FileName!="")///红色字体显示
行 52: {
行 53:



请问应该怎么解决这个问题,谢谢


飘过~~
2007-03-27 12:40
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 
这个可以实现

{
if (FileUpload1.PostedFile.ContentLength > 0)
{
string name = FileUpload1.FileName; //获取已经上传文件的名字.
string size = FileUpload1.PostedFile.ContentLength.ToString(); //获取已经上传文件的大小
string type = FileUpload1.PostedFile.ContentType; //获取文件MIME内容内型
string type1 = name.Substring(name.LastIndexOf(".") + 1);//得到文件后缀名
string ipath = Server.MapPath("upimg") + "\\" + name; //获取其它文件的实际路径
string fpath = Server.MapPath("upfile") + "\\" + name; //获取上传的文件的实际路径
string wpath = "upfile\\" + name;//获取写到数据库的虚拟路径
if (name.EndsWith(".exe") || name.EndsWith(".txt") || name.EndsWith(".xls") || name.EndsWith(".doc"))
{
FileUpload1.SaveAs(fpath); //将文件保存到fpath的这个路径里
Label1.Text = "你上传的文件名是:" + name + "<br>文件大小为:" + size + "字节<br>文件类型是:" + type + "<br>后缀名为:" + type1 + "<br>上传目标路径为:" + fpath + "<br>虚拟路径为:" + wpath + "<br>原文件路径:" + FileUpload1.PostedFile.FileName;
}
else
{
FileUpload1.SaveAs(ipath);
Label1.Text = "你上传的文件名是:" + name + "<br>文件大小为:" + size + "字节<br>文件类型是:" + type + "<br>后缀名为:" + type1 + "<br>上传目标路径为:" + ipath + "<br>虚拟路径为:" + wpath;
}
}
else
{
Label1.Text = "<script language='javascript'>alert('请选择你要上传的文件!');</script>";
return;
}
}

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-03-27 12:53
快速回复:文件的上传
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020676 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved