Я пытаюсь реализовать Dropzone на моем сайте. Я хочу прослушать событие «Успех», а затем передать ответ сервера и добавить некоторую информацию из него в форму на той же странице, что и DropZone после завершения загрузки.
информация, которую я хочу получить в ответе сервера, является прямой ссылкой на файл.
сайт dropzone: http://www.dropzonejs.com/
мой веб-сайт проекта:
http://37.34.62.131/test/
поэтому я закончил это в старой версии моего проекта, но я не могу понять, как это сделать с помощью dropzone.js
рабочий пример:
http://37.34.62.131/test/uploader%201.0/
что я пытаюсь сделать, это когда файл был загружен. Я хочу вернуть ответ php на ту же страницу с ссылками на скачивание, как показано ниже.
Я также могу отправить вам свои исходные коды, чтобы вы могли искать себя.
мой PHP-код, который я хочу увидеть в ответе:
print '<h2>Picture Uploaded Successfuly!!!!</h2> <p id="codes"> <img src="'.$imgurl.'" height="300" alt="Uploaded Picture" > <label for="codebb">BBCode:</label> <input type="text" id="codebb" value="[URL='.$siteurl.'][IMG]'.$dlurl.'[/IMG][/URL]" onclick="javascript:this.focus();this.select();" readonly="true" /><br /> <label for="codehtml">HTML Code: </label> <input type="text" id="codehtml" value=\'<a href="'.$siteurl.'"><img src="'.$dlurl.'" alt="'.$alt.'" /></a>\' onclick="javascript:this.focus();this.select();" readonly="true" /><br /> <label for="codedirect">Direct Link:</label> <input type="text" id="codedirect" value="'.$dlurl.'" onclick="javascript:this.focus();this.select();" readonly="true" /></p>'; echo ".$newname";
Может ли кто-нибудь помочь мне понять, что мне не хватает?
Глядя на ваш сайт, кажется, что вы смогли исправить эту проблему.
В любом случае это для тех, кто все еще может выглядеть. Вам нужно добавить функцию с двумя параметрами. Первый возвращаемый параметр всегда является файлом, второй – ответом. Образец:
$(function() { Dropzone.options.uiDZResume = { success: function(file, response){ alert(response); } }; });
У меня были проблемы с dropzone, но я нашел это решение:
new Dropzone("#myDropzone", { maxFilesize: 2, // MB init: function() { this.on("success", function(file, responseText) { console.log(responseText); }); } });
Валидный ответ не сработал для меня. Это делает:
$(".mydrop").dropzone({ url: upload_url, success : function(file, response){ console.log(file); console.log(response); } });
И в php-стороне:
echo json_encode($whateverouwant); die();
Но если я использую этот код, тогда мне нужно удалить класс dropzone из формы. В противном случае это приведет к ошибке.
throw new Error("Dropzone already attached."); --------------------------------------------- new Dropzone("#myDropzone", { maxFilesize: 2, // MB init: function() { this.on("success", function(file, responseText) { console.log(responseText); }); } });
Ни одно из вышеперечисленных не работало для меня, но это …
<script> Dropzone.autoDiscover = false; $(function(){ uploader = new Dropzone(".dropzone",{ url: "http://locahost/upload", paramName : "uploadedFiles", uploadMultiple :false, acceptedFiles : "image/*,video/*,audio/*", addRemoveLinks: true, forceFallback: false, maxFilesize:1000, parallelUploads: 100, });//end drop zone uploader.on("success", function(file,response) { console.log(response) }); });//end jq </script>