本篇文章教大家如何将客户端的图片或者文件上传到服务器:

无论是上传图片(.jpg .png .gif等等) 文档(word excel ppt 等等)。

第一步:放入以下三个控件 Image控件,FileUpload控件,和一个Button控件。

<asp:Image ID="imgPhoto" ImageUrl="~/images/Users/noperson.jpg" style="border:1px" alt="photo" width="105px" height="118px"   runat="server" />
<asp:FileUpload  ID="fileUpload" runat="server" BorderWidth="0" Width="51px" /> 
<asp:Button Text="上传" ID="btnUpload" runat="server" onclick="btnUpload_Click" />

第二步:上传指定格式的文件或者图片。

1)首先我们写一个方法来检查上传文件的格式,这里我们用上传图片来举例。

在此方法中,为防止文件重名,我们对所有的文件在上传之前都进行重命名后在进行保存。

    /// <summary>
/// 检查上传图片的格式
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
protected string CheckFileName(string fileName)
{
//返回指定路径文件的扩展名 并转换成小写
string fileType = Path.GetExtension(fileName).ToLower(); //判断文件的后缀名
if (fileType == ".jpg" || fileType == ".jpeg" || fileType == ".png" || fileType == ".gif")
{
//返回指定路径不具有扩展名的文件名
string oldName = Path.GetFileNameWithoutExtension(fileName);
//使用时间来重新命名图片 为了避免重名
string newName = DateTime.Now.ToFileTime() + fileType;
return newName;
}
else
{
return null;
}
}

2) 上传按钮 Button 的 OnClick 事件。

/// <summary>
/// 上传按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnUpload_Click(object sender, EventArgs e)
{
//检查是否选中文件
if (fileUpload.HasFile)
{
//获取上传的路径
string fileName = fileUpload.FileName; //截取上传文件的后缀名
int position = fileName.LastIndexOf("\\");//截取.的位置
string splitName = fileName.Substring(position + );//截取后缀
string newPath = CheckFileName(splitName);//判断后缀名是否合法并赋予新的文件名 if (!String.IsNullOrEmpty(newPath))
{
//获取服务器的虚拟路径
string path = Server.MapPath("images/"+ newPath);
//将图片保存到指定文件夹
fileUpload.PostedFile.SaveAs(path); }
}
}

如果想上传其他的文件,可在CheckFileName方法中的进行扩展。

ASP.NET中的FileUpload文件上传控件的使用的更多相关文章

  1. 对FileUpload文件上传控件的一些使用方法说明

    //创建时间:2014-03-12 //创建人:幽林孤狼 //说明:FileUpload文件上传控件使用说明(只是部分)已共享学习为主 //可以上传图片,txt文档.doc,wps,还有音频文件,视屏 ...

  2. FileUpload文件上传控件

    1.FileUpload控件的主要功能是向指定目录上传文件.FileUpload控件不会自动上传控件,而需要设置相关的事件处理程序,然后在程序中实现文件上传. 2.FileUpload控件常见的属性 ...

  3. 改变FileUpload文件上传控件的显示方式,确认后上传

    一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="File ...

  4. 改变FileUpload文件上传控件的显示方式,选择文件后自动上传

    一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="File ...

  5. ASP.NET中扩展FileUpload的上传文件的容量

    ASP.NET中扩展FileUpload只能上传小的文件,大小在4MB以内的.如果是上传大一点的图片类的可以在web.config里面扩展一下大小,代码如下 <system.web> &l ...

  6. ASP.NET 中对大文件上传的简单处理

    在 ASP.NET 开发的过程中,文件上传往往使用自带的 FileUpload 控件,可是用过的人都知道,这个控件的局限性十分大,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的 ...

  7. 在WebBrowser中通过模拟键盘鼠标操控网页中的文件上传控件(转)

    引言 这两天沉迷了Google SketchUp,刚刚玩够,一时兴起,研究了一下WebBrowser. 我在<WebBrowser控件使用技巧分享>一文中曾谈到过“我现在可以通过WebBr ...

  8. jquery文件上传控件 Uploadify 问题记录

    Uploadify v3.2.1 首先引用下面的文件 <!--上传控件 uploadify--> <script type="text/javascript" s ...

  9. 因用了NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误的解决方法

    今天遇到一个问题,就是“NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误”,百度后发现了一个解决方法,跟大家分享下: NeatUploa ...

随机推荐

  1. php,javscript调用百地图度API实现标记

    最近一个项目需要用到地图的定位和标记功能,本来考虑使用google map API .但是在国内这个速度确实很慢,有时候加载到一半就出现错了,不过可以通过google agent 来解决在国内的访问速 ...

  2. SQL存储过程和触发器

    一. 存储过程 1.  有关概念 存储过程是由SQL语句及控制流语句组成的集合.调用一个存储过程,可以一次性地执行过程中的所有语句.从这一点来说,它类似于程序. 存储过程由用户建立,它作为数据库的一个 ...

  3. Django文档——Model字段选项(Field Options)

    建立一个简易Model class Person(models.Model): GENDER_CHOICES=( (1,'Male'), (2,'Female'), ) name=models.Cha ...

  4. cadence 封装制作小结

    assembly :是装配层,就是元器件的实际大小,用来产生元器件的装配图.也可以使用此层进行布局:外框尺寸应该为元件除焊盘外的部分 该区域可比silkscreen小10mil,线宽不用设置,矩形即可 ...

  5. InnoDB外键使用小结

    USE `wfc_database`; # 主表(也可以称作:被参照表.referenced table.outTable) ALTER TABLE `app` ENGINE=INNODB; # 从表 ...

  6. 微信支付配置信息,JSAPI接口,H5调用微信js接口支付,微信公众号支付

    微信支付已经做完了,没接触过微信的我,经历了非常艰难的3天,才把微信支付给做出来,对于专业的人来说,估计就是一小时就搞定的事情了,虽然说做了很长时间,但是确实也学到东西了,也收获了不少,下面跟大家分享 ...

  7. 使用Entity Framework时要注意的一些性能问题

    http://diaosbook.com/Post/2012/12/9/performance-issue-in-select-one-or-few-colums-via-entityframewor ...

  8. 微软职位内部推荐-Senior NLP Scientist & Developer

    微软近期Open的职位: Contact Person: Winnie Wei (wiwe@microsoft.com )Senior Software Development Engineer/NL ...

  9. 微软职位内部推荐-Principal Dev Manager for Windows Phone Apps

    微软近期Open的职位: Location: China, BeijingDivision: Operations System Group Engineering Group OverviewOSG ...

  10. 微软职位内部推荐-Senior SDE for Cloud Platform

    微软近期Open的职位: Microsoft Launched the public cloud service-Azure in China on May 2013, Cosmos is the k ...