本人 应届毕业,菜鸟一名,还希望高手能不吝赐教。。下面是我得代码段,写得很粗糙。。
protected void BtnUpLoad_Click(object sender,EventArgs e)
{
bool FileVaild = false;
this.LabelMessage.Text = string.Empty;
this.LabelEorror.Text = string.Empty;
if (this.FileUpLoad1.HasFile)
{
//获取文件的后缀名
string StrExtesion = System.IO.Path.GetExtension(this.FileUpLoad1.FileName); //指定允许的后缀名范围
string[] ExtensionArr = { ".jpg",".gif","png",".bmp"}; //判断后缀名是符合范围
for (int i = 0; i < ExtensionArr.Length;i++ )
{
if(StrExtesion == ExtensionArr[i])
{
FileVaild = true;
}
} if (FileVaild)
{
string FileName = Server.MapPath("~/images/") + this.FileUpLoad1.FileName;
this.FileUpLoad1.SaveAs(FileName);
this.Images1.ImageUrl = "~/images/" + this.FileUpLoad1.FileName;
this.LabelMessage.Text = "文件上传成功!";
this.LabelMessage.Text += "<br />";
this.LabelMessage.Text += "<li>文件名为:"+this.FileUpLoad1.FileName;
this.LabelMessage.Text += "<br/>";
this.LabelMessage.Text += "<li>文件的原始路径为:" + this.FileUpLoad1.PostedFile.FileName;
this.LabelMessage.Text += "<br />";
this.LabelMessage.Text += "<li>文件的大小为:" +this.FileUpLoad1.PostedFile.ContentLength + " KB";
this.LabelMessage.Text += "<br />";
this.LabelMessage.Text += "<li>文件的类别为:"+this.FileUpLoad1.PostedFile.ContentType; }
else this.LabelEorror.Text = "只能上传图片文件!";
}
else this.LabelEorror.Text = "请选择你需要上传的文件!";
问题一:
文件的确是是成功上传进去了。但是为什么我项目中保存文件夹里面的文件 一开始是不显示的,非得我点“显示所有文件”,它才会显示出来呢?
问题二: 就是 显示出来之后 它是个白色的 需要我点击鼠标右键 ,然后选择“包括在项目中”,文件才会显示正常的颜色。
问题三:
FileUpLoad控件的PostedFile.FileName 返回的不是上传文件的完全限定名吗?为什么我得到的结果是文件名呢。。前面的路径那段跑哪去了。。再次万分感谢!!!!!来个高手嘛 -w-
protected void BtnUpLoad_Click(object sender,EventArgs e)
{
bool FileVaild = false;
this.LabelMessage.Text = string.Empty;
this.LabelEorror.Text = string.Empty;
if (this.FileUpLoad1.HasFile)
{
//获取文件的后缀名
string StrExtesion = System.IO.Path.GetExtension(this.FileUpLoad1.FileName); //指定允许的后缀名范围
string[] ExtensionArr = { ".jpg",".gif","png",".bmp"}; //判断后缀名是符合范围
for (int i = 0; i < ExtensionArr.Length;i++ )
{
if(StrExtesion == ExtensionArr[i])
{
FileVaild = true;
}
} if (FileVaild)
{
string FileName = Server.MapPath("~/images/") + this.FileUpLoad1.FileName;
this.FileUpLoad1.SaveAs(FileName);
this.Images1.ImageUrl = "~/images/" + this.FileUpLoad1.FileName;
this.LabelMessage.Text = "文件上传成功!";
this.LabelMessage.Text += "<br />";
this.LabelMessage.Text += "<li>文件名为:"+this.FileUpLoad1.FileName;
this.LabelMessage.Text += "<br/>";
this.LabelMessage.Text += "<li>文件的原始路径为:" + this.FileUpLoad1.PostedFile.FileName;
this.LabelMessage.Text += "<br />";
this.LabelMessage.Text += "<li>文件的大小为:" +this.FileUpLoad1.PostedFile.ContentLength + " KB";
this.LabelMessage.Text += "<br />";
this.LabelMessage.Text += "<li>文件的类别为:"+this.FileUpLoad1.PostedFile.ContentType; }
else this.LabelEorror.Text = "只能上传图片文件!";
}
else this.LabelEorror.Text = "请选择你需要上传的文件!";
问题一:
文件的确是是成功上传进去了。但是为什么我项目中保存文件夹里面的文件 一开始是不显示的,非得我点“显示所有文件”,它才会显示出来呢?
问题二: 就是 显示出来之后 它是个白色的 需要我点击鼠标右键 ,然后选择“包括在项目中”,文件才会显示正常的颜色。
问题三:
FileUpLoad控件的PostedFile.FileName 返回的不是上传文件的完全限定名吗?为什么我得到的结果是文件名呢。。前面的路径那段跑哪去了。。再次万分感谢!!!!!来个高手嘛 -w-
解决方案 »
- RadioButtonList怎么获取不到选中项的值??
- 有个复制时候的问题,在线等
- asp.net如何减少客户端代码量
- 软件快完活了,可是问题连连!生成word时提示“未将对象引用设置到对象的实例”
- 哪里能下载asp.net2.0电子书?英文的也可以。
- asp的奇怪问题?(高手解答)
- VS2005网站编译问题.!如何一次编译就出现所有错误?
- asp.net 上传问题,搞不懂??高手进来给看看,分不够再加!
- 文件上传的myFile.PostedFile.SaveAs的两个小问题
- 正则表达式问题:这样的字符串如何进行替换???
- 为什么DIV中的样式不起作用了
- detailsView在insert状态下找不到控件
取的时候用的是server.mappath()
2,脑袋秀逗了?什么都包括在项目中。只要它真实存在磁盘中。包不包括有什么关系? 我项目中图片几个G,难道我都包括进去?打开一个源码 要多久?
3,c#的设计者都清清楚楚说了FileName得到的是文件名。 奇了怪了 为了你 变成完整路径么。
你在去查原理, 这个控件是无法得到磁盘路径的。安全问题。操作磁盘的类是File
问题三,是浏览器不允许上传文件带路径的,比如http://www.norun.cn/UpFiles/Article/201171117475331032.jpg
三:现在FileUpload不支持获取全部路径,只能获取FileName,你要客户端的路径是得不到的。
获取上传文件客户端路径是:this.fileupload1.postedfile.filename;
this.fileupload.filename 是获取文件名,但是上述的前面还有个postedfile呢。
还有,就是 我这个只是做一个上传效果的小例子,真正的图片数据是放在数据库的。你们说的那个 什么file.xxx() 是那个命名空间的对象的属性? 我想取的是 上传文件在客户端的绝对路径。
的属性写asp:FileUpLoad 跟 input 2种写法,