在Web开发中会经常使用到个人信息注册,而个人信息中通常需要自己的头像或者照片。今天主要介绍一下使用FileUpload+img控件上传照片。

FileUpLoad控件使用介绍

FileUpLoad控件的PostedFile属性主要获取上传文件的一些基础信息。

.ContentLength

获取上传文件的大小。返回值为int类型,单位为字节。

用途

1、判断上传文件的大小

if (this.FileUpload1.PostedFile.ContentLength <= 4000000) //4M

{

Response.Write("<script>alert('" +FileUpload1.PostedFile.ContentLength + "')</script>");

}

else

{

Response.Write("<script>alert('太大了不能上传!')</script>");

}

其中FileUpload1是上传控件的ID,this.FileUpload1.PostedFile.ContentLength是上传文件的大小

2、修改ASP.NET上传的默认值

ASP.NET的默认最大上传值是4M,通过修改web.config,可以实现上传大文件:

<system.web>

<httpRuntime maxRequestLength="4096"//这里的4096就是4m,原先是默认的。你改一下这个,就可以了。

executionTimeout="3600"

/>

</system.web>

.ContentType

获取上传文件的MIME内容类型。PostedFile.ContentType这个属性通常用来判断上传文件的MIME类型,我们通常以此来拒绝某些类型的上传,比如仅允许上传图像文件,或者指定固定图片的格式。

在net,做上传文件判断文件格式的写法总结:

".*"="application/octet-stream"

".001"="application/x-001"

".301"="application/x-301"

".323"="text/h323"

".906"="application/x-906"

".907"="drawing/907"

".a11"="application/x-a11"

".acp"="audio/x-mei-aac"

".ai"="application/postscript"

".aif"="audio/aiff"

".aifc"="audio/aiff"

".aiff"="audio/aiff"

".anv"="application/x-anv"

".asa"="text/asa"

".asf"="video/x-ms-asf"

".asp"="text/asp"

".asx"="video/x-ms-asf"

".au"="audio/basic"

".avi"="video/avi"

".awf"="application/vnd.adobe.workflow"

".biz"="text/xml"

".bmp"="application/x-bmp"

".bot"="application/x-bot"

".c4t"="application/x-c4t"

".c90"="application/x-c90"

".cal"="application/x-cals"

".cat"="application/vnd.ms-pki.seccat"

".cdf"="application/x-netcdf"

".cdr"="application/x-cdr"

".cel"="application/x-cel"

".cer"="application/x-x509-ca-cert"

".cg4"="application/x-g4"

".cgm"="application/x-cgm"

".cit"="application/x-cit"

".class"="java/*"

".cml"="text/xml"

".cmp"="application/x-cmp"

".cmx"="application/x-cmx"

".cot"="application/x-cot"

".crl"="application/pkix-crl"

".crt"="application/x-x509-ca-cert"

".csi"="application/x-csi"

".css"="text/css"

".cut"="application/x-cut"

".dbf"="application/x-dbf"

".dbm"="application/x-dbm"

".dbx"="application/x-dbx"

".dcd"="text/xml"

".dcx"="application/x-dcx"

".der"="application/x-x509-ca-cert"

".dgn"="application/x-dgn"

".dib"="application/x-dib"

".dll"="application/x-msdownload"

".doc"="application/msword"

".dot"="application/msword"

".drw"="application/x-drw"

".dtd"="text/xml"

".dwf"="Model/vnd.dwf"

".dwf"="application/x-dwf"

".dwg"="application/x-dwg"

".dxb"="application/x-dxb"

".dxf"="application/x-dxf"

".edn"="application/vnd.adobe.edn"

".emf"="application/x-emf"

".eml"="message/rfc822"

".ent"="text/xml"

".epi"="application/x-epi"

".eps"="application/x-ps"

".eps"="application/postscript"

".etd"="application/x-ebx"

".exe"="application/x-msdownload"

".fax"="image/fax"

".fdf"="application/vnd.fdf"

".fif"="application/fractals"

".fo"="text/xml"

".frm"="application/x-frm"

".g4"="application/x-g4"

".gbr"="application/x-gbr"

".gcd"="application/x-gcd"

".gif"="image/gif"

".gl2"="application/x-gl2"

".gp4"="application/x-gp4"

".hgl"="application/x-hgl"

".hmr"="application/x-hmr"

".hpg"="application/x-hpgl"

".hpl"="application/x-hpl"

".hqx"="application/mac-binhex40"

".hrf"="application/x-hrf"

".hta"="application/hta"

".htc"="text/x-component"

".htm"="text/html"

".html"="text/html"

".htt"="text/webviewhtml"

".htx"="text/html"

".icb"="application/x-icb"

".ico"="image/x-icon"

".ico"="application/x-ico"

".iff"="application/x-iff"

".ig4"="application/x-g4"

".igs"="application/x-igs"

".iii"="application/x-iphone"

".img"="application/x-img"

".ins"="application/x-internet-signup"

".isp"="application/x-internet-signup"

".IVF"="video/x-ivf"

".java"="java/*"

".jfif"="image/jpeg"

".jpe"="image/jpeg"

".jpe"="application/x-jpe"

".jpeg"="image/jpeg"

".jpg"="application/x-jpg"

".js"="application/x-javascript"

".jsp"="text/html"

".la1"="audio/x-liquid-file"

".lar"="application/x-laplayer-reg"

".latex"="application/x-latex"

".lavs"="audio/x-liquid-secure"

".lbm"="application/x-lbm"

".lmsff"="audio/x-la-lms"

".ls"="application/x-javascript"

".ltr"="application/x-ltr"

.FileName

获取上传文件的完整路径及名称。此路径为改文件所在在客户端文件中的路径。通常用这个属性来获取上传文件的名称并保保存。

.FileUpload1.SaveAs

将上传文件保存到指定路径的文件下。通常借助Server.MapPath()方法保存文件到服务器指定文件下。(获取Web服务器指定虚拟路径相对应的物理文件路径)

图片上传实例

FileUpload+Image控件实现上传指定图片大小、格式、保存到指定路径文件下。

.axps

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Fileup.aspx.cs" Inherits="Testcookie.Fileup" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> <asp:Image ID="Image1" runat="server" Height="180px" Width="191px" ImageUrl="~/Photo/untitled.png" />
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnupload" runat="server" Text="Button" onclick="btnupload_Click" />
<asp:Button ID="btndelete" runat="server" Text="Button" onclick="btndelete_Click" />
</div>
</form>
</body>
</html>

.axps.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace Testcookie
{
public partial class Fileup : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void btnupload_Click(object sender, EventArgs e)
{ int length= this.FileUpload1.PostedFile.ContentLength;//获取图片大小,以字节为单位
if(length<4000)
{
Response.Write("<script language='javascript'>alert('您选择的图片过大!');</script>");
}
else{
String type=this.FileUpload1.PostedFile.ContentType;//获取上传文件类型
String fullfilename = this.FileUpload1.PostedFile.FileName;//获取上传文件在客户端的路径及名称
String filename = fullfilename.Substring(fullfilename.LastIndexOf("\\")+1);
String extensions = filename.Substring(filename.LastIndexOf (".")+1);//获取文件扩展名
string name=DateTime.Now.ToString("yyyyMMddHHmmss");
if (type == "image/jpeg" || type == "image/png" )//限制上传格式
{
this.FileUpload1.SaveAs(Server.MapPath("Photo") + "\\" + name + "." + extensions);//将图片以当前时间命名保存,避免上传图片命名重复
//设置上传图片大小为原图片大小
//System.Drawing.Image img = System.Drawing.Image.FromFile(this.Server.MapPath("Photo") + "\\" + name + "." + extensions);//获得图片文件
//int width = img.Width;
//this.Image1.Width = width;//这是宽设置Image控件的宽度为图片宽度
//int height = img.Height;
//this.Image1.Height = height;//这是高,设置Image控件的高度为图片的高度
this.Image1.ImageUrl = "Photo/" + name + "." + extensions;
}
else
{
Response.Write("<script language='javascript'>alert('您选择的图片有误!');</script>");
}
}
} protected void btndelete_Click (object sender, EventArgs e)
{
//删除图片
if (System.IO.File.Exists(Server.MapPath("Photo")+"\\20130808084433.PNG"))
{
try
{
System.IO.File.Delete(Server.MapPath("Photo") + "\\20130808084433.PNG");
}
catch
{
throw new Exception("文件删除失败!");
}
}
}
}
}

效果

       文件上传前

     
 文件上传后

Asp.net FileUpload+Image制作头像效果的更多相关文章

  1. 使用Unity3D自带动画系统制作下雨效果

    之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始. 使用自带动画系统制作下雨效果. 先制作下雨的雨滴涟漪 步骤 ...

  2. asp.net mvc上传头像加剪裁功能

    原文:asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jqu ...

  3. PS快速制作下雪效果

    PS快速制作下雪效果 具体的制作步骤如下: 1.打开PS,打开素材,打开窗口-动作 2.创建新动作,参数如下图 3.回到图层,建立一个图层,填充黑色,如下图 4.滤镜-像素化-点状化,参数如下图 5. ...

  4. Unity3d中使用自带动画系统制作下雨效果(一)

    之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始. 使用自带动画系统制作下雨效果. 先制作下雨的雨滴涟漪. 步 ...

  5. ASP.NET动态网站制作(3)--css(2)

    前言:css分为四次课讲完,第一节课内容见ASP.NET动态网站制作(2)--css(1),接下来的内容会涉及到定位.浮动.盒子模型(第二次课).css的具体应用(第三次课).css3(第四次课).今 ...

  6. WPF中制作立体效果的文字或LOGO图形(续)

    原文:WPF中制作立体效果的文字或LOGO图形(续) 上篇"WPF中制作立体效果的文字或LOGO图形"(http://blog.csdn.net/johnsuna/archive/ ...

  7. WPF中制作立体效果的文字或LOGO图形

    原文:WPF中制作立体效果的文字或LOGO图形 较久之前,我曾写过一篇:"WPF绘制党徽(立体效果,Cool) "的博文.有感兴趣的朋友来EMAIL问是怎么制作的?本文解决此类问题 ...

  8. 利用CSS制作图形效果

    前言 关于如何使用CSS来制作图形,比如说圆形,半圆形,三角形等的相关教程还是挺多的,今天我主要想解释一下里面一些demo的实现原理,话不多说,开始吧   以下所有内容只使用一个HTML元素.任何类型 ...

  9. jquery.eraser制作擦涂效果

    jquery.eraser制作擦涂效果 <pre><!DOCTYPE html><html> <head> <meta http-equiv=&q ...

随机推荐

  1. MFC+WinPcap编写一个嗅探器之三(WinPcap)

    介绍程序模块前,这一节再复习一下WinPcap WinPcap开发一个嗅探器的主要步骤如下: (1)获取嗅探设备 WinPcap提供了pcap_findalldevs_ex() 函数来实现这个功能: ...

  2. linux系统host修改

    有时候我们需要修改主机的host主机名,方便管理和识别自己的服务器,修改步骤如下: 第一步: vi  /etc/hosts 正常情况下,修改了第一步就可以了,如果通过hostname命令查看还是修改以 ...

  3. 【LOJ】#2024. 「JLOI / SHOI2016」侦查守卫

    题解 童年的回忆! 想当初,这是我考的第一次省选,我当时初二,我什么都不会,然后看着这个东西,是不是能用我一个月前才会的求lca,光这个lca我就调了一个多小时= =,然后整场五个小时,我觉得其他题不 ...

  4. 【LOJ】#2558. 「LNOI2014」LCA

    题解 当年LN还是有专门的省选题的,但是还不如没有 看到这道题,我就想到了一个清晰易懂,简单好写,代码优美的树链剖分线段树套主席树的\(O(q\log^{3}n)\)做法,且就5组数据出题人肯定是不会 ...

  5. HDU - 5136 2014icpc南京现场赛J 计数dp

    题目大意:给你一个树的直径k,要求每个点的度数不超过3, 问你有多少棵树满足条件. 思路:好难啊. 主要思想就是将一棵无根二叉树树划分成有根二叉树. 我们对k的分奇偶讨论: 我们定义dp[ i ] 为 ...

  6. linux中shell,awk,sed截取字符串方法总结

    转自:http://www.cnblogs.com/kinga/p/5772566.html Shell 第一种: ${parameter%word} 最小限度从后面截掉word${parameter ...

  7. 美团在O2O场景下的广告营销

    美团作为中国最大的在线本地生活服务平台,覆盖了餐饮.酒店.旅行.休闲娱乐.外卖配送等方方面面生活场景,连接了数亿用户和数百万商户.如何帮助本地商户开展在线营销,使得他们能快速有效地触达目标用户群体提升 ...

  8. JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用

    1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...

  9. iOS 11开发教程(三)运行第一个iOS 11程序

    iOS 11开发教程(三)运行第一个iOS 11程序 运行iOS11程序 创建好项目之后,就可以运行这个项目中的程序了.单击运行按钮,如果程序没有任何问题的话,会看到如图1.6和1.7的运行效果. 图 ...

  10. OpenVAS漏洞扫描基础教程之创建用户

    OpenVAS漏洞扫描基础教程之创建用户 OpenVAS管理服务 默认情况下,OpenVAS服务仅创建了一个名为admin的用户,而且是管理员用户(拥有最高的权限).如果想要其它客户端登陆的话,不可能 ...