在javascript中转换base64字符串中的图像?

在javascript中转换base64字符串中的图像?,javascript,html,base64,Javascript,Html,Base64,我有一个带有ENCTYPE=“multipart/form data”的html表单。它只包含类型为“file”的文本框,用于从本地浏览文件 下面是文本框代码片段 <td> <input name="fileNameAttr" id="filePath" size="52" type="file" value=""> </td> 我从本地框中浏览一些图像文件。在我选择文件的那一刻,文件路径就会填充到文本框中。 现在单击某个按钮,我想将图像转换为j

我有一个带有ENCTYPE=“multipart/form data”的html表单。它只包含类型为“file”的文本框,用于从本地浏览文件 下面是文本框代码片段

<td>
    <input name="fileNameAttr" id="filePath" size="52" type="file" value="">
</td>

我从本地框中浏览一些图像文件。在我选择文件的那一刻,文件路径就会填充到文本框中。 现在单击某个按钮,我想将图像转换为javascript中的base64字符串我没有使用HTML5。我可以用javascript实现吗?

我可以在网上看到一些使用HTML5的解决方案,但这并不能解决我的目的。如果我需要使用第三方工具,我可以这样做


编辑:-看起来jquery可以帮助处理$.base64.encode(“这是一个测试”);但是如何使用type=“file”?

这可以通过HTML5
来实现

如果您选择了node.js 然后 在img中尝试类似的东西

范例

var fs = require('fs');
var base64_data = new Buffer(fs.readFileSync('sample.png')).toString('base64');
console.log('<img alt="sample" src="data:image/png;base64,' + base64_data + '">');
var fs=require('fs');
var base64_data=新缓冲区(fs.readFileSync('sample.png')).toString('base64');
控制台日志(“”);
选中此项(也是示例的来源)

博览群书

  • //它是用于图像的

  • 这可以通过HTML5来实现

    如果您选择了node.js 然后 在img中尝试类似的东西

    范例

    var fs = require('fs');
    var base64_data = new Buffer(fs.readFileSync('sample.png')).toString('base64');
    console.log('<img alt="sample" src="data:image/png;base64,' + base64_data + '">');
    
    var fs=require('fs');
    var base64_data=新缓冲区(fs.readFileSync('sample.png')).toString('base64');
    控制台日志(“”);
    
    选中此项(也是示例的来源)

    博览群书

  • //它是用于图像的

  • 如果您可以通过javascript访问本地文件系统,那么什么会阻止您读取密码文件或其他私有数据


    这是你不能做的,将来也不允许,因为显而易见的原因

    如果您可以通过javascript访问本地文件系统,那么什么会阻止您读取密码文件或其他私有数据



    这是你不能做的,将来也不允许,因为显而易见的原因

    可能是@Diodeus的复制品他想要一个非HTML5way@RASG这是在字符串上进行编码,而不是在本地图像上。你可以用flash进行编码:可能是@Diodeus的复制品。他想要一个非HTML5way@RASG对字符串进行编码,不在本地图像上您可能可以使用flash:+1来实现这一点。在HTML5中,有一种方法可以将本地图像加载到画布中,然后javascript可以完全访问这一点(因此有一种方法可以使用图像来实现,但不是在一般情况下),如果您知道(非大多数情况下仍然不支持=HTML5)直接从客户端访问图像的二进制数据的方式我非常希望听到关于它的信息,并将相应地删除/编辑我的答案!你必须是对的,我只是说,目前几乎不受支持的东西或即将出现的技术有可能发生变化的原因我相信如果“即将出现的技术”允许通过未经验证的第三方ECMA脚本直接访问本地文件系统。。。intarwebs不久将“rm-rf/”安装。想象一下,有人没有从一个随机网站的评论插件中删除js/html。任何足够邪恶的人都可以发布两行代码删除本地驱动器上的所有数据,或者更糟的是,将其上传到某个地方。我不相信这样的事情是可行的。是的,他们不会那样做。但是JS可以使用本地文件数据是有正当理由的。(例如:图像/音乐)+1最有可能是这种情况。HTML5中有一种方法可以将本地图像加载到画布中,然后javascript可以完全访问该图像(因此有一种方法可以处理图像,但不是在一般情况下),如果您知道(非大部分仍然不受支持=HTML5)直接从客户端访问图像的二进制数据的方式我非常希望听到关于它的信息,并将相应地删除/编辑我的答案!你必须是对的,我只是说,目前几乎不受支持的东西或即将出现的技术有可能发生变化的原因我相信如果“即将出现的技术”允许通过未经验证的第三方ECMA脚本直接访问本地文件系统。。。intarwebs不久将“rm-rf/”安装。想象一下,有人没有从一个随机网站的评论插件中删除js/html。任何足够邪恶的人都可以发布两行代码删除本地驱动器上的所有数据,或者更糟的是,将其上传到某个地方。我不相信这样的事情是可行的。是的,他们不会那样做。但是JS可以使用本地文件数据是有正当理由的。(例如:图像/音乐)@GungFoo我不明白什么?受访者要求提供浏览器内解决方案。node.js是否在浏览器中运行?;)@GungFoo抱歉,它需要节点。js@GungFoo我不明白什么?被调查者要求一个浏览器内解决方案。node.js是否在浏览器中运行?;)@GungFoo抱歉,它需要node.js