求一种方法可以在高一点版本浏览器下实现上传前图片预览的方法

mxc1225 2009-09-07 10:48:08
我试了好多上传前图片预览的方法!都是只能在ie下可以,Firefox下就不行了!
可以说是高一点版本的浏览器就不行!
如果说是考虑到上传的可能是其他类型的文件,我也试了用div和样式表来只能上传图片的方法!结果还是一样!
求高人帮忙!或者像csdn和QQ校友上传头像一样,他们是怎么可以预览的!!!
...全文
299 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxc1225 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 net_lover 的回复:]
完全兼容的方法目前没有,
因为IE7之后浏览器里可以设置不允许在上传文件时显示目录,所以,你只能采用其他方法,比如silverlight,自己写插件等等
[/Quote]
那么烦啊!silverlight是什么?怎么用啊!
写插件就更不会了啊!??!
孟子E章 2009-09-08
  • 打赏
  • 举报
回复
完全兼容的方法目前没有,
因为IE7之后浏览器里可以设置不允许在上传文件时显示目录,所以,你只能采用其他方法,比如silverlight,自己写插件等等
mxc1225 2009-09-08
  • 打赏
  • 举报
回复
高人,出现吧!!..
mxc1225 2009-09-08
  • 打赏
  • 举报
回复
16楼的前辈啊!
mxc1225 2009-09-07
  • 打赏
  • 举报
回复
我不是做更换头像的!
购物网的上传商品时候的预览!!
或是修改商品信息的时候新图片与旧图片一起显示对比等!!
  • 打赏
  • 举报
回复
不要删除原图

用户上传头像了,然后又点取消了,怎么办

你可以研究下CSDN的上传头像

它的就是不删除的。以前的头像都在服务器上面呢
mxc1225 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lwp1493 的回复:]
IE7即以上的浏览器上传时预览可以使用滤镜。
[/Quote]
怎么用啊!还望兄弟明示啊!?
「已注销」 2009-09-07
  • 打赏
  • 举报
回复
IE7即以上的浏览器上传时预览可以使用滤镜。
mxc1225 2009-09-07
  • 打赏
  • 举报
回复
等待中.......
mxc1225 2009-09-07
  • 打赏
  • 举报
回复
csdn也是先将图片上传到服务器上的啊!??
wiki14 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jianlanzq 的回复:]
QQ 校友不清楚

但是CSDN的上传头像并不是本地预览的。它是先上传在服务器上然后再读取的。
[/Quote]


你更新头像,就把原图删除。
这意思?
  • 打赏
  • 举报
回复
QQ 校友不清楚

但是CSDN的上传头像并不是本地预览的。它是先上传在服务器上然后再读取的。
mxc1225 2009-09-07
  • 打赏
  • 举报
回复
你的想法够好的!!那天要是合并了我送个大姑娘给你!!一定比如花美?
嘿嘿开玩笑!
等待中啊...............!?
xuyang09 2009-09-07
  • 打赏
  • 举报
回复
哎,火狐和IE合并就好了,

支持微软,,,,,,,,,,,收买火狐,
mxc1225 2009-09-07
  • 打赏
  • 举报
回复
继续等待中啊.....
mxc1225 2009-09-07
  • 打赏
  • 举报
回复
//放在head之间
<style type="text/css">#newPreview {
FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)
}
</style>

//body
<input ID="Fud_Pic" runat="server" onchange="PreviewImg(this)" type="file" />
<div id="newPreview"></div>
</td>
<td align=center valign=middle>
<script language="javascript" type="text/javascript">
function PreviewImg(imgFile)
{
var newPreview = document.getElementById("newPreview");
newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
newPreview.style.height="100";
newPreview.style.width="100";
}
</script>
这是我写的没有用<img>控件的!在Firefox下既然连这个都不行!!
麻烦各位,在帮我改改吧!
mxc1225 2009-09-07
  • 打赏
  • 举报
回复
9楼的朋友不行啊~
你的方法在Firefox下还是不行的!
让我带你走 2009-09-07
  • 打赏
  • 举报
回复
我来给你一个!很全的!而且预览同时可以验证大小!和是否为图片格式!而且不是根据后缀名判断是否为图片!
<script type="text/javascript">
function checksign() {
if (document.upload2.file2.value != "") {
parent.document.getElementById("form1").addbtn.disabled = true;
parent.document.getElementById('tdIframe').style.display = '';
return true;
}
}
var isimg = true;
var img = null;
function chksize() {

if (img) img.removeNode(true);

img = document.createElement("img");

img.style.position = "absolute";

img.style.visibility = "hidden";

img.width = 0;

img.height = 0;

img.attachEvent("onreadystatechange", orsc);

img.attachEvent("onerror", oe);

document.body.insertAdjacentElement("beforeend", img);

img.src = document.getElementById("file2").value;

if (isimg == true) {

document.getElementById('PhotoPreview').src = document.getElementById("file2").value;
}


}

function oe() {

isimg = false;
alert("您选择的文件不是图片格式!");
document.getElementById('PhotoPreview').src = '/images/textNav_logo.gif';
document.getElementById("fmUpoload").reset();

}

function orsc() {

if (img.readyState != "complete") return false;
if (img.fileSize > 2097152) {

document.getElementById('PhotoPreview').src = '/images/textNav_logo.gif';
alert("您上传的图片超过了2M,请重新选择!!");
document.getElementById("fmUpoload").reset();
}
}
</script>
调用如下
<form id="fmUpoload" method="post" runat="server" enctype="multipart/form-data" name="upload2">
<input type="file" name="file2" size="15" onchange="chksize()" id="file2"/>
</from>

62,046

社区成员

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

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

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

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