html5使用FileReader上传图片

客户端代码是网上找的,修改为.net代码。

<html>
<head>
    <meta charset="utf-8">
    <title>使用html5 FileReader获取图片,并异步上传到服务器(not iframe)</title>
    <style type="text/css">
        body
        {
            margin: 0px;
            background: #f2f2f0;
        }
        p
        {
            margin: 0px;
        }
        .title
        {
            color: #FFFF00;
            background: #000000;
            text-align: center;
            font-size: 24px;
            line-height: 50px;
            font-weight: bold;
        }
        .file
        {
            position: absolute;
            width: 100%;
            font-size: 90px;
            display: none;
        }
        .filebtn
        {
            display: block;
            position: relative;
            height: 110px;
            color: #FFFFFF;
            background: #06980e;
            font-size: 48px;
            line-height: 110px;
            text-align: center;
            cursor: pointer;
            border: 3px solid #cccccc;
        }
        .filebtn:hover
        {
            background: #04bc0d;
        }
        .showimg
        {
            margin: 10px auto 10px auto;
            text-align: center;
        }
    </style>
    <script type="text/javascript">
        window.onload = function () {
            // 选择图片  
            document.getElementById(‘img‘).onchange = function () {

var input = document.getElementById("img");
                var img = input.files[0];
                // 判断是否图片  
                if (!img) {
                    return;
                }

// 判断图片格式  
                if (!(img.type.indexOf(‘image‘) == 0 && img.type && /\.(?:jpg|png|gif)$/.test(img.name))) {
                    alert(‘图片只能是jpg,gif,png‘);
                    return;
                }

var reader = new FileReader();
                reader.readAsDataURL(img);

reader.onload = function (e) { // reader onload start  
                    // ajax 上传图片  
                    $.post("Handler.ashx", { imgname: img.name, img: e.target.result }, function (ret) {

var www = ret;
                        if (ret != ‘‘) {
                            alert(‘upload success‘);
                            $(‘#showimg‘).html(‘<img src="‘ + ret + ‘">‘);
                        } else {
                            alert(‘upload fail‘);
                        }
                    }, ‘text‘); //这里返回的类型有:json,html,xml,text
                } // reader onload end  
            }

}  
    </script>
</head>
<body>
    <p class="title">
        使用html5 FileReader获取图片,并异步上传到服务器(not iframe)</p>
    <p>
        <input type="file" class="file" id="img"><%--加入multiple可多选--%><label class="filebtn"
            for="img" title="JPG,GIF,PNG">请选择图片</label></p>
    <p class="showimg" id="showimg">
    </p>
</body>
</html>

服务端代码:

public void ProcessRequest(HttpContext context)
    {
        if (context.Request["img"] != null)//生成校验码
        {
            string imgname = context.Request["imgname"];
            string imgExtention = System.IO.Path.GetExtension(imgname).ToLower();
            if (imgExtention != ".jpg" && imgExtention != ".jpe" && imgExtention != ".jpeg" && imgExtention != ".gif" && imgExtention != ".png" && imgExtention != ".bmp")
            {
                string s = "原图片文件格式不正确,支持的格式有[ .jpg|.jpe|.jpeg|.png|.bmp|.gif ]!";
                
            }
            string imgData = context.Request["img"];
            string[] ss =imgData.Split(‘,‘);
            byte[] imageBytes = Convert.FromBase64String(ss[1]);
            //读入MemoryStream对象
            System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(imageBytes, 0, imageBytes.Length);
            memoryStream.Write(imageBytes, 0, imageBytes.Length);
            //转成图片
            System.Drawing.Image image = System.Drawing.Image.FromStream(memoryStream);
            image.Save("硬盘存储地址" + imgname);
            context.Response.Write("Web服务器地址" + imgname);

context.Response.End();
        }
    }

时间: 2024-10-21 10:22:52

html5使用FileReader上传图片的相关文章

HTML5之FileReader的使用(转)

HTML5之FileReader的使用 http://blog.csdn.net/jackfrued/article/details/8967667 MDN : 代码 <!doctype html> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <title>Image preview

Html5 js FileReader接口(艺博会,添加商品时,上传图片,addGoods.html页)

用来把文件读入内存,并且读取文件中的数据.FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据.到目前文职,只有FF3.6+和Chrome6.0+实现了FileReader接口. 1.FileReader接口的方法 FileReader接口有4个方法,其中3个用来读取文件,另一个用来中断读取.无论读取成功或失败,方法并不会返回读取结果,这一结果存储在result属性中. FileReader接口的方法 方法名 参数 描述 readAsB

[转] HTML5之FileReader的使用

HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简单,可以按照如下步骤创建FileReader对象并调用其方法: 1.检测浏览器对FileReader的支持 [javascript] view plain copy if(window.FileReader) { var fr = new FileReader(); // add your code

HTML5之FileReader的使用

HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简单,可以按照如下步骤创建FileReader对象并调用其方法: 1.检测浏览器对FileReader的支持 [javascript] view plain copy if(window.FileReader) { var fr = new FileReader(); // add your code

HTML5拖拽上传图片预览

参考博文1:http://blog.csdn.net/testcs_dn/article/details/8695532 参考博文2:http://justcoding.iteye.com/blog/2105760 1.文件API:(File API) file类型的的表单控件选择的每一个文件都是一个file对象,而FileList对象则是这些file对象的集合列表,代表所选择的所有文件.file对象继承于Blob对象,该对象表示二进制原始数据,提供slice方法,可以访问到字节内部的原始数据块

HTML5之FileReader的使用.RP

HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简单,可以按照如下步骤创建FileReader对象并调用其方法: 1.检测浏览器对FileReader的支持 [javascript] view plain copy if(window.FileReader) { var fr = new FileReader(); // add your code

HTML5拖放事件-上传图片预览功能(学习笔记)

主要用到的知识点有dataTransfer对象和FileReader(读取文件信息) 1.创建简单的HTML标签: <body> <div id="box">请将图片拖拽至此</div> <ul></ul> </body> 2.给标签加上简单的样式: <style type="text/css"> div{ width: 300px; height: 300px; margin:10

FileReader上传图片

实现拖拽图片,在上传至服务器前,显示图片并操控大小 利用HTML5 dragenter dragover dragleave drop 在实现图片显示方面,用了FileReader这个类 var files=event.dataTransfer.files;//获取拖拽的图片集合 filereader.readAsDataURL(files[i]); 利用this.result <img src='"+this.result+"'/>显示图片到页面 若想获得图片大小,需要重

Html5 js FileReader接口

用来把文件读入内存,并且读取文件中的数据.FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据.到目前文职,只有FF3.6+和Chrome6.0+实现了FileReader接口. 1.FileReader接口的方法 FileReader接口有4个方法,其中3个用来读取文件,另一个用来中断读取.无论读取成功或失败,方法并不会返回读取结果,这一结果存储在result属性中. FileReader接口的方法 方法名 参数 描述 readAsB