我有一个用于JPEG图片的文件输入框。当更改时,它会生成base64字符串并将其放入其他不可见的文本输入框中。然后我按下按钮,使用AJAX POST将字符串发送到服务器。
如果上传小于300-400KB的图片,则可以正常工作,但是如果尝试上传大于500KB的图片,则base64字符串会被限制为524288个字符。
<input type="file" id="imgUp" accept=".jpg" display: none;">
<input type="text" id="imgTempUrl"/>
<script type="text/javascript">
$(function(){
//When new file/image is loaded, update temporary input with new base64 string
$('#imgUp').change(function(){
imgUp = document.getElementById('imgUp');
if(imgUp.files && imgUp.files[0]){
var reader = new FileReader();
reader.onload = function(e){
$('#imgTempUrl').val(e.target.result);
};
reader.readAsDataURL(imgUp.files[0]);
}
});
});
</script>
我的问题是:
有没有办法在将图像转换为base64字符串之前,去除输入的字符限制或压缩/调整大小?
预先感谢你!
FormData
。 - Rory McCrossan