如何从数组中的表单获取照片完整的URL

时间:2014-07-04 13:44:22

标签: javascript jquery html photo picker

我正在尝试使用jquery通过表单从我的comp中拍照 - 所以我希望表格中的整个网址都在数组中

  • 它在Dreamweaver中起作用+ / - 但在浏览器浏览器中不起作用,甚至不是chrome

  • 最终目标是为残疾人提供带照片/应用的日历,但只要我能通过手机间隙

    var foto= new Array();
    var i=-1;
    //foto=["toets.png"]; 
    $('#fotouit').append("FOTO UIT");       
    $('#knop01').click(function(){
      $('input:file[name=foto]').each(function(){
        //alert($(this).val());
        foto.push($(this).val());
        foto.forEach( function(){
          i++;
          $('#fotouit').append(foto[i]); 
          $('#fotouit').append('<img src=" '+ foto[i] + ' " width="100" height="100" />');
        });
      });
    })
    

2 个答案:

答案 0 :(得分:0)

我认为不可能在您计算机的本地文件系统中获取图片的URL,但您可以使用Javascript的FileReader API来读取上传文件的内容(在您的情况下,图片中) 。读取的内容可以在src元素的img中使用,就像在示例代码中一样。

答案 1 :(得分:0)

这是对您要完成的内容的深入解释:https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications

示例:

function handleFiles(files) {
    for (var i = 0; i < files.length; i++) {
        var file = files[i];
        var imageType = /image.*/;

        if (!file.type.match(imageType)) {
            continue;
        }

        var img = document.createElement("img");
        img.classList.add("obj");
        img.file = file;
        preview.appendChild(img); // Assuming that "preview" is a the div output where the content will be displayed.

        var reader = new FileReader();
        reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img);
        reader.readAsDataURL(file);
    }
}

注意:

  • 您可以在文件输入上使用multiple属性,以允许选择多个带有一个输入的文件
  • 您可以使用文件输入更改事件来立即捕获文件,而不是提供第二个按钮来单击