图片拖拽上传

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="html5/js/jquery-2.0.0.min.js"></script>
    </head>
    <body>
        <div name="image" id="dropbox" style="position:relative;min-width:300px;min-height:100px;text-align: center;line-height:100px;color:#777;font-size:32px;border:3px dashed silver;">
            <input style="color:#fff;width:100%;height:100px;margin:0px auto;cursor:pointer;position:absolute;top:0px;right:0px;opacity:0;filter: alpha(opacity=0);" id="myfile" name="myfile" type="file"  >
            请拖拽图片放到这里
        </div>
        <div style="width: 250px;height: 250px;">
            <img id="showimg"  style="min-width: 250px;height: 250px;" src="" />
            <p id="inofimg" style="width: 150px;height: 50px;"></p>
        </div>
    </body>
    <script type="text/javascript">
            $(function(){
                $(document).on({
                    dragleave:function(e){
                        e.preventDefault();
                    },
                    drop:function(e){
                        e.preventDefault();
                    },
                    dragenter:function(e){
                        e.preventDefault();
                    },
                    dragover:function(e){
                        e.preventDefault();
                    }
                });
                var dropboxfile  = document.getElementById("dropbox");
                dropboxfile.addEventListener(‘drop‘,function(e){
                    e.preventDefault();
                    var fileList = e.dataTransfer.files;
                    var fileNum = fileList.length;
                    if(fileNum==0){
                        return false;
                    }
                    if(fileList[0].type.indexOf(‘image‘)=== -1){
                        alert(‘该文件不是图片‘);
                        return false;
                    }
                    var imgurl  = window.URL.createObjectURL(fileList[0]);
                    var imgname  = fileList[0].name;
                    var imgsize = Math.floor((fileList[0].size)/1024);
                    if(imgsize>1024){
                        alert(‘文件大小不能超过1M‘);
                        return false;
                    }
                    var info = "<span>文件名‘"+imgname+"‘</span><span>文件大小‘"+imgsize+"‘kb</span>";
                    $("#showimg").attr(‘src‘,imgurl);
                    $("#inofimg").html(info);
                })
            });
    </script>
</html>

这里主要用到三个  一个是html5的这个几个拖动dragleave,drop,dragenter,dragover,二是addEventListener监听,三个是html5的file的API

时间: 2024-10-11 17:53:36

图片拖拽上传的相关文章

图片拖拽上传至服务器

今天遇到一个新的问题,就是图片拖拽上传至服务器,一般,我们会想到使用ajax,但是现在问题是ajax默认是没有提交事件的,也就是说,我们拖拽上传图片后,没法将上传的图片信息发送到服务器,这时候就要模拟form表单的提交了. 既然要上传,这里首先要讲到的就是图片拖拽上传了. oDiv.ondrop = function(e) { e.preventDefault(); //获取拖拽过来的对象,文件对象集合 var fs = e.dataTransfer.files; //若为表单域中的file标签

HTML5多图片拖拽上传带进度条

前言 昨天利用css2的clip属性实现了网页进度条觉得还不错,但是很多情况下,我们在那些时候用进度条呢,一般网页加载的时候如果有需要可以用,那么问题就来了,怎么才算整个加载完毕呢,是页面主要模块加载完毕,还是window.onload之后算呢,对这些方面,我真不敢随意回答,因业务需求而定,本文想要说的是在图片上传的时候用到的进度条. 效果展示 详细参考请移步至html5demo HTML5 新增的拖拽相关事件说明 1.ondragover 效果图演示是所看见的可以将文件不仅仅是图片拖拽到该di

HTML5——将图片拖拽上传

如下图所示: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #div1{width:200px;height:200px;background:red;} </style> <script type="te

dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.

http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术:HTML5的api,作为一名前端的菜鸟,没什么可说的,直接分享自己学习的资料: 关于HTML5 的这些新的特性大家可以到Mozilla的开发者社区MDN https://developer.mozilla.org/zh-CN/ 上查HTML5的资料 还有就是发掘到的比较牛逼的一篇博客:http:/

jQuery插件之路(三)——文件上传(支持拖拽上传)

好了,这次咱一改往日的作风,就不多说废话了,哈哈.先贴上源代码地址,点击获取.然后直接进入主题啦,当然,如果你觉得我有哪里写的不对或者欠妥的地方,欢迎留言指出.在附上一些代码之前,我们还是先来了解下,上传文件的时候需要利用的一些必要的知识. 首先我们要说的就是FileReader对象,这是一个HTML5提出的,专门用来异步的读取用户计算机上文件的对象,这里有详细的介绍.所以如果我们想要使用它,那么首先我们得先创建一个FileReader对象. var fr = new FileReader()

原生API实现拖拽上传文件实践

功能: 拖拽上传文件.图片,上传的进度条,能够同时上传多个文件. 完整的demo地址:https://github.com/qcer/FE-Components/tree/master/QDrag 涉及到的API: 1.HTML5的拖拽事件:dragenter,dragover,drop等 2.XMLHttpRequest  Level2 3.FormData 4.(扩展:HTML5的File API) 概述: 1.利用拖拽实践的API将一个普通的div自定义成一个放置目标,这里有一个技巧是放置

拖拽上传功能

拖拽上传功能旨在实现拖拽文件或者图片上传到你想要保存到的地方.此处上传的是xml文件,可以在里面对文件类型进行限制: 声明:现在的ie浏览器9及以下的版本并不支持该方法实现拖拽上传,如果有大神可以分享ie9及以下的拖拽上传方法将不胜感激: 代码: <body><div id="div">    <h1 align="center">拖拽上传</h1>    <form   id="form1"

Java实现拖拽上传

原文:http://www.open-open.com/code/view/1437358795584 在项目开发中由于实际需求,需要开发拖拽上传的功能,ok! 先看效果图: jsp上传前端代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html>

基于AngularJS的拖拽上传

随着HTML5的普及,现在大部分浏览器都支持拖拽功能,今天我们要说的就是实现一套拖拽上传的功能(Angularjs+nodejs). 一.首先前端这款插件是基于AngularJS的,下面我们来看主要代码. 引入js: <script src="js/angular.1.3.15.min.js"></script> <script src="js/ng-file-upload-shim.min.js"></script>