[.ashx檔?泛型处理例程?]基础入门#2....FileUpload上传前,预览图片(两种作法--ashx与JavaScript)
有了上一篇文章的观念,也见识过 .ashx档案的格式
[.ashx檔?泛型处理例程?]基础入门#1....能否用中文教会我?别说火星文?
我们将介绍另一位 DotBlogs的网友,Y2J前辈的大作:
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)的更多相关文章
- [.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField)
[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField) http://www.dotblogs.c ...
- SpringMVC基础(二)_文件上传、异常处理、拦截器
实现文件上传 实现文件上传,需要借助以下两个第三方 jar 包对上传的二进制文件进行解析: commons-fileupload commons-io form表单的 enctype 取值必须为:mu ...
- CTF---Web入门第二题 上传绕过
上传绕过分值:10 来源: Justatest 难度:易 参与人数:5847人 Get Flag:2272人 答题人数:2345人 解题通过率:97% bypass the upload 格式:fla ...
- 基础:enctype 包含上传input时必须(解决图片上传不成功问题)
今天在做一个上传图片的时候,死活就是看不到传过去的值..对比了写法没发现问题,后来抱着试试看的心,查看下了 from里的写法.发现缺少了enctype.不了解这个用法,特意百度了下. enctype ...
- 前端PHP入门-031-文件上传-六脉神剑
php.ini的设置 php.ini的文件太多,找不到的时候你可以使用 Ctrl+F 搜索相关配置项. 配置项 功能说明 file_uploads on 为开启文件上传功能,off 为关闭 post_ ...
- salesforce lightning零基础学习(十七) 实现上传 Excel解析其内容
本篇参考: https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader https://github.com/SheetJS/sheetjs ...
- Java 基础入门随笔(1) JavaSE版——java语言三种技术架构
1.java语言的三种技术架构: J2SE(java 2 Platform Standard Edition):标准版,是为开发普通桌面和商务应用程序提供的解决方案.该技术体系是其他两者的基础,可以完 ...
- Redis基础入门,Redis的优点也特点,Redis五种数据类型
Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. 1.Redis的主要特点 Redis有三个主要特点,使它优越于其它键值数据存储系统 - Redis将 ...
- GitHub入门:如何上传与下载工程?
由于经常要在家写代码,所以需要有个能够方便访问代码管理工具.最近尝试了一下GitHub.经过了一翻纠结之后,基本上掌握了他的使用方式. 要使用GitHub需要首先在其网站上进行注册.其官方网站是ht ...
随机推荐
- Rehat 5.8下oracle11g安装
Oracle 11g Redhat 5安装 一.检查硬件是否满足要求 检查一内存 On Linux x86: At least 1 GB of RAM 内存至少1G To determine the ...
- UVA12653 Buses
Problem HBusesFile: buses.[c|cpp|java]Programming competitions usually require infrastructure and or ...
- MongoDB基本操作命令
由于工作需要,笔者这两天使用了一下MongoDB.真的很不习惯!但是确实好用,命令比mysql和sqlserver简单很多.在这里整理一些MongoDB的基本操作命令分享出来. 客户端的安装就不说了, ...
- python读取数据库数据,读取出的中文乱码问题
conn = pymysql.connect( host='127.0.0.1', port=3302, user='username', passwd='password', db=database ...
- qemu-kvm和openvswitch安装部署-qemu-kvm和openvswitch原型环境部署和基本测试 (1)
qemu-kvm和openvswitch安装部署 本文包含两个部分: qemu-kvm的安装部署 openvswitch的安装部署 参考文档: kvm官网:http://www.linux-kvm.o ...
- socket学习笔记——线程(聊天程序)
server.c #include <stdio.h> #include <pthread.h> #include <semaphore.h> #include & ...
- eclipse 弹出智能提示、代码自动换行
在eclipse 中编写java 程序时,为了快速查找变量或搜索方法调用,在智能窗口的帮助下,程序的编写速度会更快,但eclipse 默认下并不弹出智能窗口,这就需要自己进行配置,设置的步骤如下: 打 ...
- CentOS安装 Docker
系统的要求64 位操作系统,内核版本至少为 3.10. Docker 目前支持 CentOS 6.5 及以后的版本,推荐使用 CentOS 7 系统. cat /proc/version 首先,也是要 ...
- java基础回顾(一)—— sleep和wait的区别
sleep是Thread类的一个方法,wait是Object类的一个方法 sleep是线程被调用时,占着cpu去睡觉,其他线程不能占用cpu,os认为该线程正在工作,不会让出系统资源 wait是进入等 ...
- 智能指针(二):shared_ptr实现原理
前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针 ...