HTML5 - 拖动和;将JPEG从浏览器拖放到浏览器

时间:2013-05-20 12:30:05

标签: javascript html5 file-upload

我已经看到很多示例如何实现将JPEG从桌面拖放到我的浏览器中。最近我听说也可以将JPEG从另一个HTML网站拖到我的浏览器中并加载JPEG。我怎么能意识到这一点?

是否与它有关:

 void addElement(
   in Element element
 );

1 个答案:

答案 0 :(得分:2)

如果您使用的是Jquery,可以在这里找到一种方法:https://github.com/blueimp/jQuery-File-Upload/wiki/Drag-and-drop-uploads-from-another-web-page

这是执行此操作的代码:

<script src="https://raw.github.com/betamax/getImageData/master/jquery.getimagedata.min.js"></script>
<script>
$(document).bind('drop dragover', function (e) {
    // Prevent the default browser drop action:
    e.preventDefault();
});
$(document).bind('drop', function (e) {
    var url = $(e.originalEvent.dataTransfer.getData('text/html')).filter('img').attr('src');
    if (url) {
        $.getImageData({
            url: url,
            success: function (img) {
                var canvas = document.createElement('canvas');
        canvas.width = img.width;
        canvas.height = img.height;
                if (canvas.getContext && canvas.toBlob) {
                    canvas.getContext('2d').drawImage(img, 0, 0, img.width, img.height);
                    canvas.toBlob(function (blob) {
                        $('#fileupload').fileupload('add', {files: [blob]});
                    }, "image/jpeg");
                }
            }
        });
    }
});
</script>