<input type="file" id="asd"/>
我想在用户选择base64后获得该图像(在提交表单之前)
比如:
$(input).on('change',function(){
var data = $(this).val().base64file(); // it is not a plugin is just an example
alert(data);
});
我读了关于文件API和其他东西,我想要一个简单的和跨浏览器的解决方案(IE6/IE7明显排除)
任何帮助都很感激谢谢。
8条答案
按热度按时间huwehgph1#
(**P. S:**base64编码图像(字符串)原始图像数据大小的4/3)
Check this answer for multiple images upload.
浏览器支持:www.example.comhttp://caniuse.com/#search=file%20api
更多信息:https://developer.mozilla.org/en-US/docs/Web/API/FileReader
c86crjj02#
正是你所需要的:)你可以选择回调版本或承诺版本。请注意,承诺将在IE中工作,只有与承诺polyfill库。你可以把这个代码一次在一个页面上,这个函数将出现在你的所有文件。
loadend事件在加载资源的进程停止时触发(例如,在分派了“error”、“abort”或“load”之后)
回调版本
承诺版本
超文本标记语言
gt0wga4j3#
6kkfgxo04#
在这种情况下,使用Deferred Object并返回promise非常有用:
上述函数可以这样使用:
或者在您的情况下:
wa7juj8i5#
函数使用jquery将图片转换成base64(你可以转换成vanila js)。希望对你有帮助!
用法:输入是你的nameId输入有文件图像
示例:将图像转换为Base64('yourFileInputId')
https://codepen.io/mariohandsome/pen/yLadmVb
pnwntuvh6#
codesanbox
erhoui1w7#
适用于现代浏览器(不支持IE)
Html文件输入
JS系统
u3r8eeie8#