FileUpload 上传预览问题 asp.net(C#)
我做了个上传控件点击预览时FileUpload上的内容消失了我该怎么做?protectedvoidButton3_Click(objectsender,EventArgs...
我做了个上传控件点击预览时FileUpload 上的内容消失了
我该怎么做?
protected void Button3_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
//存储选择图片
FileUpload1.SaveAs(Server.MapPath("temp//") + FileUpload1.FileName);
Image1.ImageUrl = "temp/" + FileUpload1.FileName;
Image1.Visible = true;
}
else
{
Response.Write("<script>alert('请选择图片!')</script>");
}
}
三楼的代码是在页面的最下面添加了图片,我如果改了路径页面又多了一张图片了 我只想预览一张图片该怎么改? 展开
我该怎么做?
protected void Button3_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
//存储选择图片
FileUpload1.SaveAs(Server.MapPath("temp//") + FileUpload1.FileName);
Image1.ImageUrl = "temp/" + FileUpload1.FileName;
Image1.Visible = true;
}
else
{
Response.Write("<script>alert('请选择图片!')</script>");
}
}
三楼的代码是在页面的最下面添加了图片,我如果改了路径页面又多了一张图片了 我只想预览一张图片该怎么改? 展开
6个回答
展开全部
你可以用JS来实现预览的功能,这样,上传预览时不与服务器交互,FILE里的路径内容仍然会保留。
<script type="text/javascript" language="javascript">
<!--
function PreviewImg(imgFile){
var newPreview = document.getElementById("newPreview");
var imgDiv = document.createElement("div");
document.body.appendChild(imgDiv);
imgDiv.style.width = "118px"; imgDiv.style.height = "127px";
imgDiv.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale)";
imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
newPreview.appendChild(imgDiv);
var showPicUrl = document.getElementById("showPicUrl");
showPicUrl.innerText=imgFile.value;
newPreview.style.width = "80px";
newPreview.style.height = "60px";
}
-->
</script>
选择图片:<input type="file" size="20" onchange="javascript:PreviewImg(this);" runat="server" /><asp:Button ID="Button1" runat="server"
Text="上传" OnClick="Button1_Click" />
在你的Button1_Click里写你的上传事件
<script type="text/javascript" language="javascript">
<!--
function PreviewImg(imgFile){
var newPreview = document.getElementById("newPreview");
var imgDiv = document.createElement("div");
document.body.appendChild(imgDiv);
imgDiv.style.width = "118px"; imgDiv.style.height = "127px";
imgDiv.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale)";
imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
newPreview.appendChild(imgDiv);
var showPicUrl = document.getElementById("showPicUrl");
showPicUrl.innerText=imgFile.value;
newPreview.style.width = "80px";
newPreview.style.height = "60px";
}
-->
</script>
选择图片:<input type="file" size="20" onchange="javascript:PreviewImg(this);" runat="server" /><asp:Button ID="Button1" runat="server"
Text="上传" OnClick="Button1_Click" />
在你的Button1_Click里写你的上传事件
展开全部
虽然大家说的都很美,但是实际上,在客户端直接使用用户电脑里的路径是很可能被禁止掉的。但是我并不否认这种方法是可行的,只是受限颇多。
1楼说的iframe可行,但是操作起来繁琐,而且很多人痛恨FrameSet, IFrame,因为他们是过时标签。但是有很多方案都是用iframe。
自然会有人想到ajax,不过ajax天生阻止上传文件。
另外有一个方案,是使用flash,有一些第三方的免费flash,比如FlashUpload,可以很简单的实现这个功能,不过缺陷就是使用Flash来实现。
总之目前没有完美解决方案,以上的方案选用哪个请自己选择。
1楼说的iframe可行,但是操作起来繁琐,而且很多人痛恨FrameSet, IFrame,因为他们是过时标签。但是有很多方案都是用iframe。
自然会有人想到ajax,不过ajax天生阻止上传文件。
另外有一个方案,是使用flash,有一些第三方的免费flash,比如FlashUpload,可以很简单的实现这个功能,不过缺陷就是使用Flash来实现。
总之目前没有完美解决方案,以上的方案选用哪个请自己选择。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-07-22
展开全部
参考资料: http://www.blueidea.com/common/shoutbox/redir.asp?1=u&id=11586
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将上传跟预览分开,可嵌套使用iframe操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
点击预览时,去执行js(用js去设置图片控件的url),不要再cs里面写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询