图片自动旋转,同时读取url从文件上传(当它'一个大的图像)
image auto rotates while reading url from file upload (when it's a big image)?
下面的代码
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#img_').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#inpFile").change(function () {
readURL(this);
});
显示如下图像(这是一个2mb大小的图像);
水平视图读取图像文件
我已经用这个代码解决了这个问题;
$('#inpFile').change(function (e) {
var file = e.target.files[0];
canvasResize(file, {
width: 300,
height: 0,
crop: false,
quality: 100,
callback: function (data, width, height) {
$("#img_").attr('src', data);
}
});
});
我张贴这个文件到通用处理程序,然后我把它保存到文件。图像保存到文件右旋转,但当我试图用innerHtml在代码后面显示它们时,它再次显示水平。(就像这个滑动条上的水平视图)
我该如何解决这个问题?(我已经测试过,当图像大小小没有问题,但如果它是大的,然后问题开始)
看起来你的图像实际上是水平的,但方向元属性设置为90度。由于元数据标签提供的信息,这些图像会被现代图像编辑器(以及直接链接到的一些浏览器)自动旋转,这可能意味着为什么您认为它是垂直的。
用CSS:
试着将这个css规则应用到你的页面上,并在Firefox或Safari上进行测试:
img {
image-orientation: from-image;
}
但是目前只有Firefox和Safari支持。
使用第三方工具(服务器端):
如果您担心浏览器兼容性,则必须在服务器端处理图像以删除元数据并旋转它们。Imagemagick可以使用-auto-orient
使用Javascript(客户端,浏览器兼容):
Edit:如果您解析元数据并相应地旋转图像,您也可以在客户端可靠地完成此操作。或者只是使用JavaScript-Load-Image,它可以为你做!在你的页面中导入load-image.all.min.js
,然后调用loadImage
函数:
loadImage(
input.files[0],
function (img) {
// this callback will be called with the correctly oriented
// image element, inject it in your page ay way you want
document.body.appendChild(img);
},
{maxWidth: 600} // Options, check the project page for
// more of them (scaling, cropping, etc.)
)
相关文章:
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- 为什么我的Mongoose DB模式之一可能是“;强制转换为未定义的“;当它的实例被放置在第二个模式中时
- Passport.js`isAuthenticated()`不一致的行为;当它应该是真的时候是假的
- 如何将对象插入对象列表的开头,当它有 unshift 不是函数错误
- 什么时候字符串不是字符串?当它没有 include() 方法时
- 我的jquery在本地工作,但当它'it’s上传到我的网站上,它只起部分作用
- 函数'未定义'当它是
- 强制浏览器使用实际' '当它断线时
- 为什么我的变量需要一个'var'声明,当它's已经在var声明中了
- 如何将查询参数设置为我的所有路线,当它改变时-在恩伯
- 当javascript图像转盘加载36个图像时,我可以显示加载指示器吗
- 如何调用$scope$apply()仅当它's还没有进行中
- 为什么jQuery'it’当它着火的时候;s添加到元素中
- jQuery将日期添加到输入中,但仅当它's是空的
- 如何使用 Reactjs 选择输入中的所有文本,当它聚焦时
- 当将图像加载到Easeljs位图类时,它是否使用原始图像?
- 图片自动旋转,同时读取url从文件上传(当它'一个大的图像)
- jQuery的简单修改,禁用点击图像,当它被点击一次
- 是LeafletJS异步的,当它加载图像图标时
- 如何显示图像,只有当它完全加载