Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 上传图片和位置_Jquery_Html_Css - Fatal编程技术网

Jquery 上传图片和位置

Jquery 上传图片和位置,jquery,html,css,Jquery,Html,Css,我发现了很多关于html5图像上传的教程,例如 <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type='text/javascript' src='/js/lib/mootools-core-1.4.5-nocompat.js'></script>

我发现了很多关于html5图像上传的教程,例如

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">


  <script type='text/javascript' src='/js/lib/mootools-core-1.4.5-nocompat.js'></script>
  <link rel="stylesheet" type="text/css" href="/css/normalize.css">


  <link rel="stylesheet" type="text/css" href="/css/result-light.css">

  <style type='text/css'>

  </style>



<script type='text/javascript'>//<![CDATA[ 
window.addEvent('load', function() {
var imageLoader = document.getElementById('imageLoader');
    imageLoader.addEventListener('change', handleImage, false);
var canvas = document.getElementById('imageCanvas');
var ctx = canvas.getContext('2d');


function handleImage(e){
    var reader = new FileReader();
    reader.onload = function(event){
        var img = new Image();
        img.onload = function(){
            canvas.width = img.width;
            canvas.height = img.height;
            ctx.drawImage(img,0,0);
        }
        img.src = event.target.result;
    }
    reader.readAsDataURL(e.target.files[0]);     
}

});//]]>  

</script>


</head>
<body>
  <label>Image File:</label><br/>
<input type="file" id="imageLoader" name="imageLoader"/>
<canvas id="imageCanvas"></canvas>

</body>


</html>

//  
图像文件:

但是如何预览图像而不覆盖上一个图像呢。我希望能够上传任意数量的图像,并根据样式表将它们水平对齐或定位。

首先,添加一个占位符,用于保存用户选择的所有图像:

<div id="Placeholder">
    <canvas id="imageCanvas"></canvas>
</div>

.

您发布的代码不相关,它只是显示所选图像的预览,不执行任何上载。实际问题在于处理实际图像上载的服务器端代码。如何显示多个图像的预览?首先,请编辑您的问题,并明确表示您是指预览多个图像而不是上载。如果我找到了,我会想办法回答的。
window.onload = function() {
    var counter = 0;
    var imageLoader = document.getElementById('imageLoader');
    var oPlaceholder = document.getElementById('Placeholder');
    imageLoader.addEventListener('change', handleImage, false);
    var originalCanvas = document.getElementById('imageCanvas');
    function handleImage(e){
        counter++;
        var canvas = originalCanvas.cloneNode(true);
        canvas.id += "_" + counter;
        oPlaceholder.appendChild(canvas);
        var ctx = canvas.getContext('2d');
        var reader = new FileReader();
        reader.onload = function(event){
            var img = new Image();
            img.onload = function(){
                canvas.width = img.width;
                canvas.height = img.height;
                ctx.drawImage(img,0,0);
            }
            img.src = event.target.result;
        }
        reader.readAsDataURL(e.target.files[0]);     
    }
};