Я реализую загрузчик изображений с перетаскиванием с вызовом ajax, Я увидел учебник по этому вопросу и реализован так, как этот, с этим кодом я могу сохранить изображение в .jpg только формат! (или какой-либо один формат, который я указываю в коде)php: // входное изображение Uplaod с изображением типа
загруженное изображение сохраняется в PHP: // ввод папку раньше, и мы должны захватить этот образ из этой временной папки для сохранения, что на сервере,
, но они ничего не говорят, чтобы изменить формат изображения в соответствии с типом изображения,
теперь я хочу загрузки изображение в оригинальном формате , как я могу собрать изображение информация во время ее загрузки?
здесь код
<?php
$str =file_get_contents('php://input');
$filename = md5(time()).'.jpg';
$path = 'upload/'.$filename;
file_put_contents($path,$str);
echo $path;
вот некоторые JS для принятия изображения и отправки Ajax запроса:
$(function(){
//select the drop container
var obj = $('.drop');
// dragover event listener
obj.on('dragover',function(e){
e.stopPropagation();
e.preventDefault();
$(this).css('border',"2px solid #16a085");
});
//drop event listener
obj.on('drop',function(e){
e.stopPropagation();
e.preventDefault();
$(this).css('border',"2px dotted #bdc3c7");
//get the files
var files = e.originalEvent.dataTransfer.files;
var file =files[0];
//console.log(file);
//upload data using the xhr object
upload(file);
});
function upload(file){
//create xhr object
xhr = new XMLHttpRequest();
//initiate request
xhr.open('post','drop.php',true);
//set headers
xhr.setRequestHeader('Content-Type',"multipart/form-data");
xhr.setRequestHeader('X-File-Name',file.fileName);
xhr.setRequestHeader('X-File-Size',file.fileSize);
xhr.setRequestHeader('X-File-Type',file.fileType);
//send the file
xhr.send(file);
}
});
Вы посылаете тип файла в заголовке 'X-File-type', поэтому попробуйте и получить его с: '$ _SERVER ['HTTP_X_FILE_TYPE']'. –
Нет, я не могу, я попробовал только сейчас, он экономит без расширения! –
Что вы подразумеваете под _ "сохранение без расширения" _? Проверьте, что содержит этот заголовок с параметром 'var_dump ($ _ SERVER)'. Это может быть тип mime, а не расширение. –