我試試這個參考:https://github.com/blueimp/JavaScript-Load-Image如何在保存到文件夾(Javascript)之前修複方向(上傳圖像)?
我嘗試這樣的:https://jsfiddle.net/oscar11/gazo3jc8/
我編寫JavaScript代碼是這樣的:
$(function() {
var result = $('#result')
var currentFile
function updateResults (img, data) {
var content
if (!(img.src || img instanceof HTMLCanvasElement)) {
content = $('<span>Loading image file failed</span>')
} else {
content = $('<a target="_blank">').append(img)
.attr('download', currentFile.name)
.attr('href', img.src || img.toDataURL())
var form = new FormData();
form.append('file', currentFile);
$.ajax({
url:'response_upload.php',
type:'POST',
data:form,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
},
error: function() {
console.log(error)
},
});
}
result.children().replaceWith(content)
}
function displayImage (file, options) {
currentFile = file
if (!loadImage(
file,
updateResults,
options
)) {
result.children().replaceWith(
$('<span>' +
'Your browser does not support the URL or FileReader API.' +
'</span>')
)
}
}
function dropChangeHandler (e) {
e.preventDefault()
e = e.originalEvent
var target = e.dataTransfer || e.target
var file = target && target.files && target.files[0]
var options = {
maxWidth: result.width(),
canvas: true,
pixelRatio: window.devicePixelRatio,
downsamplingRatio: 0.5,
orientation: true
}
if (!file) {
return
}
displayImage(file, options)
}
// Hide URL/FileReader API requirement message in capable browsers:
if (window.createObjectURL || window.URL || window.webkitURL ||
window.FileReader) {
result.children().hide()
}
$('#file-input').on('change', dropChangeHandler)
})
如果我上傳的圖像,保存在文件夾中的圖像仍然不使用其方向設置中的圖像。我希望當我上傳圖片時,存儲在文件夾中的圖像是已設置其方向的圖像
似乎通過ajax發送的currentFile
是未修改的currentfFile。我如何獲得修改的currentFile
?
嗨兄弟我找到你的解決方案,看到我的第二個答案。 – Viney
@Novice,好的兄弟。非常感謝 –