我们有一些使用jquery进行图片上传和预览的代码。请看这个小提琴和代码。
https://jsfiddle.net/28v6vd23/1/
function readURL() {
var fileList = this.files;
var anyWindow = window.URL || window.webkitURL;
var ValidImageTypes = ["image/gif", "image/jpeg", "image/png"];
for(var i = 0; i < fileList.length; i++){
var file_allow = fileList[i];
var fileType = file_allow["type"];
if ($.inArray(fileType, ValidImageTypes) > 0) {
var objectUrl = anyWindow.createObjectURL(fileList[i]);
var ran_x = Math.floor((Math.random() * 1000000000000) + 1);
$('.new').append('<div class="my-img-div" style="width:auto; display:inline-block;" ><img src="' + objectUrl + '" class="my-img" id="" /></div>');
window.URL.revokeObjectURL(fileList[i]);
}
}
}
var inputfile= document.getElementById("inputFile");
inputfile.addEventListener("change",readURL,false);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form1" runat="server">
<input type='file' id="inputFile" />
</form>
<div class="new">
</div>
这里有一些图像正确预览,
但是对于某些图像,它旋转90度。请检查一下。
请查看此图片https://drive.google.com/file/d/1UVW6dXMESAkeRFVxwBfsWWa4e9xD-DIL/view
我们如何解决这个问题?
更新
从@qvotaxon回答我可以理解https://github.com/blueimp/JavaScript-Load-Image这将有助于解决问题。但是当我调查这个时,我正在努力进行整合。如果任何人都可以帮助我与当前代码集成,那将非常有帮助。
谢谢
答案 0 :(得分:1)
图像的方向可能存储在EXIF数据中。请查看此帖子JS Client-Side Exif Orientation: Rotate and Mirror JPEG Images 以获取解决方案。