用fileupload上传PP时出现的问题?

woaizmy 2008-11-04 10:56:17
在做一个上传图片的小程序,想在图片上传之前检测了图睛属性,并显示出来.之后再上传.
用fileupload上传图片,我用一个button检测图片属性.另一个button负责上传.
点"浏览",浏览到图片,然后点过"检测"button,检测图片属性,并显示出.但点过检测页面会重新加载.再点"上传"button就没用了,因为fileuppload里没有图片路经.怎么把点检测之前浏览到的图片路径传递给"上传"button按钮的CLICL事件下.请各位高手怎么解决?我不会JS.
...全文
136 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gengwanshanreally 2008-11-06
  • 打赏
  • 举报
回复
我这有个小例子不知道是否能帮上lz的忙

var fileUpload=document.getElementById("FileUpload1");
var path=fileUpload.value;
var endName=path.toUpperCase().substr(path.lastIndexOf("."),path.length-1);
if(fileUpload.value=="")
{
return false;
}
if(endName!=".JPG" && endName!=".GIF")
{
alert("不支持的上传文件格式!");
return false;
}
else
{
return true;
}
woaizmy 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 JGood 的回复:]
来一段代码, 楼主试试:
<img id="img" />
<asp:FileUpload ID="FileUpload1" runat="server" />
<input type="button" value="显示" onclick="show()" />
<asp:Button ID="btn" runat="server" Text="上传" />
<script type="text/javascript">
function show() {
var img = document.getElementById("img");
img.src = document.getElementById("FileUpload1").value;
}
</script>
[/Quote]


不回传是不是也无法触发CLICK事件?
woaizmy 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 y_qingbin 的回复:]
用Ajax,把验证控件放到UpdatePanel中应该可以
[/Quote]

偶是菜鸟,不会AJAX.
woaizmy 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhjtianle 的回复:]
你可以用session来存储文件的路径,等在页面重新加载的时候检查session时候为空,如果不为空就把session的值赋给fileupload,就可以!!
[/Quote]

这个试过,不行.
雨打青衫 2008-11-05
  • 打赏
  • 举报
回复
用Ajax,把验证控件放到UpdatePanel中应该可以
JGood 2008-11-05
  • 打赏
  • 举报
回复
我在ie下没问题
woaizmy 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 JGood 的回复:]
即使你获取了客户端文件的路径, 但是这仅仅是路径字符串, 不是文件内容. 你仅仅知道文件路径是不能获取客户端的文件的. 如果知道客户端的文件路径就可以获取这个文件, 谁还敢上你的网站.

通过FileUpload控件(最终被解析成 <input type="file" />), 可以把你本地的文件内容上传到服务器, 而不仅仅是一个字符串.
[/Quote]

哦,这样,学习了.
zhjtianle 2008-11-05
  • 打赏
  • 举报
回复
你可以用session来存储文件的路径,等在页面重新加载的时候检查session时候为空,如果不为空就把session的值赋给fileupload,就可以!!
woaizmy 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 JGood 的回复:]
[/Quote]

但点击显示之后没反应.
JGood 2008-11-04
  • 打赏
  • 举报
回复
即使你获取了客户端文件的路径, 但是这仅仅是路径字符串, 不是文件内容. 你仅仅知道文件路径是不能获取客户端的文件的. 如果知道客户端的文件路径就可以获取这个文件, 谁还敢上你的网站.

通过FileUpload控件(最终被解析成<input type="file" />), 可以把你本地的文件内容上传到服务器, 而不仅仅是一个字符串.
JGood 2008-11-04
  • 打赏
  • 举报
回复
在做一个上传图片的小程序,想在图片上传之前检测了图睛属性,并显示出来.之后再上传.
用fileupload上传图片,我用一个button检测图片属性.另一个button负责上传.
点"浏览",浏览到图片,然后点过"检测"button,检测图片属性,并显示出.但点过检测页面会重新加载.再点"上传"button就没用了,因为 fileuppload里没有图片路经.怎么把点检测之前浏览到的图片路径传递给"上传"button按钮的CLICL事件下.请各位高手怎么解决?我不会JS.

====>
楼主是因为点了检测button之后, 页面回传了, 而FileUpload中的路径就清空了.
上面我给了一段例子, 检测button不是服务器控件, 而是一个精通的html元素, 点击该按钮不会引发回传, 当然也不会使FileUpload中的路径丢失.

[Quote=引用 5 楼 woaizmy 的回复:]
引用 4 楼 fenglaijun 的回复:
楼上的高手。。你没明白楼主的意思。。
楼主是想保存检测前选择的文件路径,不用JS。
我也问下,FileUpload如何获得客户端选择的路径
this.FileUpload1.FileName是文件名没有路径。


对对,是的是的.呵呵..
[/Quote]
====>
获取客户端的文件路径有什么意义吗????
fenglaijun 2008-11-04
  • 打赏
  • 举报
回复
建议你吧验证和上传放一起。
如果觉得不好的话。等高手更好的方法吧
if (this.FileUpload1.FileName.EndsWith("img"))
{
this.FileUpload1.SaveAs("D:\\你想要保存的位置");
}
woaizmy 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fenglaijun 的回复:]
楼上的高手。。你没明白楼主的意思。。
楼主是想保存检测前选择的文件路径,不用JS。
我也问下,FileUpload如何获得客户端选择的路径
this.FileUpload1.FileName是文件名没有路径。
[/Quote]

对对,是的是的.呵呵..
fenglaijun 2008-11-04
  • 打赏
  • 举报
回复
楼上的高手。。你没明白楼主的意思。。
楼主是想保存检测前选择的文件路径,不用JS。
我也问下,FileUpload如何获得客户端选择的路径
this.FileUpload1.FileName是文件名没有路径。
woaizmy 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fenglaijun 的回复:]
你检测完成吧值赋FileUpload控件啊。。。。重新加载页面肯定就没有了。。。
[/Quote]

是呀,就是不知道怎样解决?
这里的贴子我都找了很多,也看了很多,还是没法.
JGood 2008-11-04
  • 打赏
  • 举报
回复
来一段代码, 楼主试试:
<img id="img" />
<asp:FileUpload ID="FileUpload1" runat="server" />
<input type="button" value="显示" onclick="show()" />
<asp:Button ID="btn" runat="server" Text="上传" />
<script type="text/javascript">
function show() {
var img = document.getElementById("img");
img.src = document.getElementById("FileUpload1").value;
}
</script>
fenglaijun 2008-11-04
  • 打赏
  • 举报
回复
你检测完成吧值赋FileUpload控件啊。。。。重新加载页面肯定就没有了。。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧