快速业务通道

asp.net夜话之六:asp.net基本控件(二)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
em.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Upload : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnUpload_Click(object sender, EventArgs e)
{
//判断是否上传了文件
if (fileUpload.HasFile)
{
//指定上传文件在服务器上的保存路径
string savePath = Server.MapPath("~/upload/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(savePath))
{
//需要注意的是,需要对这个物理路径有足够的权限,否则会报错
//另外,这个路径应该是在网站之下,而将网站部署在C盘却把上传文件保存在D盘
System.IO.Directory.CreateDirectory(savePath);
}
savePath = savePath + "\\" + fileUpload.FileName;
fileUpload.SaveAs(savePath);//保存文件
//不过需要注意的是,在客户端访问却需要指定的是URL地址,而不是在服务器上的物理地址
literal.Text = string.Format("<a href=''upload/{0}''>upload/{0}</a>", fileUpload.FileName);
}
}
}

以下是程序运行结果:

asp.net夜话之六:asp.net基本控件(二)

上传文件之后的效果:

asp.net夜话之六:asp.net基本控件(二)

因为我上传了一个proc.txt的文件,所以最后的URL地址是:upload/proc.txt,点击这个超级链接能打开刚刚上传的文件查看其内容,如下图:

asp.net夜话之六:asp.net基本控件(二)

注意:对于有些文件,如rar格式的,点击之后则会出现下载提示而不是直接在浏览器打开。

带图片预览功能的FileUpload控件

通过上面的讲述,我们知道一些web服务器控件在vs2005下没有javascript客户端事件的提示,不过只要我们确信这个事件对应的HTML控件确实有,我们可以自行添加的,下面我们就来做一个让FileUpload控件带有图片预览功能的例子。

因为这里不涉及到上传后如何保存,只是仅仅在用户选择了要上传的文件时或者用户将鼠标移动到上传控件上时,如果上传的文件是图片文件,我们就显示这个图片的预览效果5分钟,然后消失。以下是程序代码(前台代码,保存代码和上面的例子一样,所以没有写后台cs代码):

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>上传图片预览实例</title>
<script type="text/javascript" language="javascript">
//如果用户选择了图片,则显示图片的预览效果
function previewImage()
{
var x = document.getElementById("file");
if(!x || !x.value)//如果没有选择上传文件
{
return;
}
var patn = /\.jpg$|\.jpeg$|\.gif$/i;
if(patn.test(x.value))//如果上传文件的后缀是.jpg或.jpeg或.gif
{
var y = document.getElementById("img");
if(y)
{
y.src = ''file://localhost/'' + x.value;
y.style.display="block";
}
else
{
var img=document.createElement(''i

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号