Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
Javascript 如何使用js获取二进制代码中的图像?_Javascript_Jquery_Image_Base64_Encode - Fatal编程技术网

Javascript 如何使用js获取二进制代码中的图像?

Javascript 如何使用js获取二进制代码中的图像?,javascript,jquery,image,base64,encode,Javascript,Jquery,Image,Base64,Encode,我想用prograss bar制作一个多图像上传系统。我想使用simaple代码(使用jquery或js)。我想当用户在浏览器上上传了他的图片,我想在浏览器上显示这些图片,然后通过上传按钮,他开始在文件夹中通过ajax上传图片 那么问题呢 1.)是否可以显示上传的图像(没有任何复杂的代码) 2.)我是否得到一个变量或数组,其中上传的图像存储为base64代码(数据:/img:dfd5d/d54fs…..类似于此)或编码 3.)如何添加progressBar 我还没有写任何代码,因为我不知道如何开

我想用prograss bar制作一个多图像上传系统。我想使用simaple代码(使用jquery或js)。我想当用户在浏览器上上传了他的图片,我想在浏览器上显示这些图片,然后通过上传按钮,他开始在文件夹中通过ajax上传图片

那么问题呢

1.)是否可以显示上传的图像(没有任何复杂的代码)

2.)我是否得到一个变量或数组,其中上传的图像存储为base64代码(数据:/img:dfd5d/d54fs…..类似于此)或编码

3.)如何添加progressBar

我还没有写任何代码,因为我不知道如何开始。我是计算机科学的新手

但是我发现这个代码在

这是一段简单的代码,我理解,但有一点不清楚这行代码的含义是什么
var reader=new FileReader()为什么要使用新的以及它是什么?

请不要解释得太复杂,我的英语不是很好。因此,如果可能的话,请尝试用蹩脚的语言解释。

假设您有此字段

您可以创建一个脚本来获取二进制数据并显示它

function showImage(input){
    var reader = new FileReader();

    // validating...
    var fileType = input.files[0].type;
    var filesize = input.files[0].size;

    // filetype (this will validate mimetype, only png, jpeg, jpg allowed)
    var fileTypes = ["image/png", "image/jpeg", "image/gif"];
    if (fileTypes.indexOf(fileType) < 0){
        // return error, invalid mimetype
        return false;
    }

    // file cannot be more than 500kb
    if (filesize > 5000000) {
        // return error, image too big
        return false;
    }

    reader.onload = function (e) {
        // e will contain the image info
        jQuery('#myimagetopreview').attr('src', e.target.result)
    }

    reader.readAsDataURL(input.files[0]);
}
函数showImage(输入){
var reader=new FileReader();
//验证。。。
var fileType=input.files[0]。类型;
var filesize=input.files[0].size;
//文件类型(这将验证mimetype,仅允许png、jpeg、jpg)
var fileTypes=[“image/png”、“image/jpeg”、“image/gif”];
if(fileTypes.indexOf(fileType)<0){
//返回错误,mimetype无效
返回false;
}
//文件大小不能超过500kb
如果(文件大小>5000000){
//返回错误,图像太大
返回false;
}
reader.onload=函数(e){
//e将包含图像信息
jQuery('#myimagetopreview').attr('src',e.target.result)
}
reader.readAsDataURL(input.files[0]);
}
这应该行得通,如果你有问题告诉我


编辑:并非所有浏览器都支持FileReader,请查看文档了解更多信息。JS中的FileReader状态为“工作草稿”,不属于正式JS API的一部分。我认为您必须等到浏览器支持此ne API,或者您必须在浏览器中激活实验性JS API。

进度条先生,我说多个图像如何使用进度条创建多个图像上载系统。请看我问如何使用进度条创建多个图像上载系统
function showImage(input){
    var reader = new FileReader();

    // validating...
    var fileType = input.files[0].type;
    var filesize = input.files[0].size;

    // filetype (this will validate mimetype, only png, jpeg, jpg allowed)
    var fileTypes = ["image/png", "image/jpeg", "image/gif"];
    if (fileTypes.indexOf(fileType) < 0){
        // return error, invalid mimetype
        return false;
    }

    // file cannot be more than 500kb
    if (filesize > 5000000) {
        // return error, image too big
        return false;
    }

    reader.onload = function (e) {
        // e will contain the image info
        jQuery('#myimagetopreview').attr('src', e.target.result)
    }

    reader.readAsDataURL(input.files[0]);
}