原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/20/ashx_beginner_02_fileupload_picture_preview.aspx

有了上一篇文章的观念,也见识过 .ashx档案的格式

[.ashx檔?泛型处理例程?]基础入门#1....能否用中文教会我?别说火星文?

我们将介绍另一位 DotBlogs的网友,Y2J前辈的大作:

[ASP.NET] 在页面上显示上传的图片

http://www.dotblogs.com.tw/aquarius6913/archive/2013/04/26/102317.aspx?fid=56777

这个范例里面, Y2J网友先把「图片预览」的程序代码,写在网页的后置程序代码(称为:方法一

然后把这段程序 "抽离"出来,写到.ashx里面(称为:方法二

两种作法任选其一,便能做出 FileUpload控件,在档案上传以前,先进行图片预览

因为Y2J前辈使用Session来传递,所以 .ashx程序里面会多出两段程序,务必动手自己加入喔!

(点选下面图片,会连结到 Y2J前辈的文章。  完整程序代码也有公开)

另外,我也找到这些相关文章,希望对大家有帮助。

也可以搭配书本「上集」  Ch,18  FileUpload这一章一起学习

==== 实作给您看 =======================================

范例来源  http://www.cnblogs.com/travelcai/archive/2007/09/25/904767.html  

首先,在画面上,使用一个ASP.NET的 Image控件

接下来,后置程序代码很简单,一句话完工!(这样的程序代码,不需要附上VB版吧?)

protected void Page_Load(object sender, EventArgs e)

{

Image1.ImageUrl = "test_01.ashx";

}

当然,重点就是 .ashx文件,由他来把图片展示出来(程序代码都在 .ashx里面了)

完整程序代码,可以在此下载  http://www.cnblogs.com/travelcai/archive/2007/09/25/904767.html

(点选下图,也可以超级链接过去......这篇文章的教学非常浅显!大推~)

最后补上JavaScript的语法(上传前,图片预览)

因为浏览器版本推陈出新,对安全的要求也日趋严格

十年前我用的语法已经失效了,下面提供一份(我测试过)正常可用的版本

上传之前,先用 JavaScript预览图片

只有 Chrome / FireFox / IE 10(标准模式)有效

资料来源:http://wangyong31893189.iteye.com/blog/1695472

本系列的 .ashx 教学文章,请看 第三篇:

[.ashx檔?泛型处理例程?]基础入门#3....ADO.NET 与 将DB里面的二进制图片还原

[.ashx檔?泛型处理例程?]基础入门#2....FileUpload上传前,预览图片(两种作法--ashx与JavaScript)的更多相关文章

  1. [.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField)

    [.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField) http://www.dotblogs.c ...

  2. SpringMVC基础(二)_文件上传、异常处理、拦截器

    实现文件上传 实现文件上传,需要借助以下两个第三方 jar 包对上传的二进制文件进行解析: commons-fileupload commons-io form表单的 enctype 取值必须为:mu ...

  3. CTF---Web入门第二题 上传绕过

    上传绕过分值:10 来源: Justatest 难度:易 参与人数:5847人 Get Flag:2272人 答题人数:2345人 解题通过率:97% bypass the upload 格式:fla ...

  4. 基础:enctype 包含上传input时必须(解决图片上传不成功问题)

    今天在做一个上传图片的时候,死活就是看不到传过去的值..对比了写法没发现问题,后来抱着试试看的心,查看下了 from里的写法.发现缺少了enctype.不了解这个用法,特意百度了下. enctype ...

  5. 前端PHP入门-031-文件上传-六脉神剑

    php.ini的设置 php.ini的文件太多,找不到的时候你可以使用 Ctrl+F 搜索相关配置项. 配置项 功能说明 file_uploads on 为开启文件上传功能,off 为关闭 post_ ...

  6. salesforce lightning零基础学习(十七) 实现上传 Excel解析其内容

    本篇参考: https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader https://github.com/SheetJS/sheetjs ...

  7. Java 基础入门随笔(1) JavaSE版——java语言三种技术架构

    1.java语言的三种技术架构: J2SE(java 2 Platform Standard Edition):标准版,是为开发普通桌面和商务应用程序提供的解决方案.该技术体系是其他两者的基础,可以完 ...

  8. Redis基础入门,Redis的优点也特点,Redis五种数据类型

    Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. 1.Redis的主要特点 Redis有三个主要特点,使它优越于其它键值数据存储系统 - Redis将 ...

  9. GitHub入门:如何上传与下载工程?

    由于经常要在家写代码,所以需要有个能够方便访问代码管理工具.最近尝试了一下GitHub.经过了一翻纠结之后,基本上掌握了他的使用方式.  要使用GitHub需要首先在其网站上进行注册.其官方网站是ht ...

随机推荐

  1. Rehat 5.8下oracle11g安装

    Oracle 11g Redhat 5安装  一.检查硬件是否满足要求 检查一内存 On Linux x86: At least 1 GB of RAM 内存至少1G To determine the ...

  2. UVA12653 Buses

    Problem HBusesFile: buses.[c|cpp|java]Programming competitions usually require infrastructure and or ...

  3. MongoDB基本操作命令

    由于工作需要,笔者这两天使用了一下MongoDB.真的很不习惯!但是确实好用,命令比mysql和sqlserver简单很多.在这里整理一些MongoDB的基本操作命令分享出来. 客户端的安装就不说了, ...

  4. python读取数据库数据,读取出的中文乱码问题

    conn = pymysql.connect( host='127.0.0.1', port=3302, user='username', passwd='password', db=database ...

  5. qemu-kvm和openvswitch安装部署-qemu-kvm和openvswitch原型环境部署和基本测试 (1)

    qemu-kvm和openvswitch安装部署 本文包含两个部分: qemu-kvm的安装部署 openvswitch的安装部署 参考文档: kvm官网:http://www.linux-kvm.o ...

  6. socket学习笔记——线程(聊天程序)

    server.c #include <stdio.h> #include <pthread.h> #include <semaphore.h> #include & ...

  7. eclipse 弹出智能提示、代码自动换行

    在eclipse 中编写java 程序时,为了快速查找变量或搜索方法调用,在智能窗口的帮助下,程序的编写速度会更快,但eclipse 默认下并不弹出智能窗口,这就需要自己进行配置,设置的步骤如下: 打 ...

  8. CentOS安装 Docker

    系统的要求64 位操作系统,内核版本至少为 3.10. Docker 目前支持 CentOS 6.5 及以后的版本,推荐使用 CentOS 7 系统. cat /proc/version 首先,也是要 ...

  9. java基础回顾(一)—— sleep和wait的区别

    sleep是Thread类的一个方法,wait是Object类的一个方法 sleep是线程被调用时,占着cpu去睡觉,其他线程不能占用cpu,os认为该线程正在工作,不会让出系统资源 wait是进入等 ...

  10. 智能指针(二):shared_ptr实现原理

    前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针 ...