2016-06-15 2 views
0

Я использую dropzone.js для реализации загрузки файлов. Я новичок в JavaScript. Может ли кто-нибудь сказать мне, что здесь стоит переменная file? Имя файла?переменная файла в dropzone.js

accept: function(file, done) { 
return done(); 
}, 

Кроме того, я хочу, чтобы отобразить содержимое файла в текстовой области, имеющей id="editor".

accept: function(file, done) { 
document.getElementById('editor').value=file.text; 
return done(); 
}, 

Ihave использовали file.text и также readAsText(), но оба они показывают undefined в текстовой области. Есть ли другой простой способ сделать это?

Эта функция присутствует в файле dropzone.js.
ИЛИ есть ли способ, чтобы я мог использовать PHP-функции, такие как file_get_contents() в файле .js и в функции JavaScript?

ответ

0

Параметр файла - это объект. Просто используйте console.log, чтобы проверить, какие данные возвращает объект.

accept: function(file, done) { 
    console.log(file); 
    done(); 
}, 

Если вы закачиваете файл через PHP и хотите вернуть URL загруженного файла, чтобы отобразить в текстовой области, попробуйте это вместо этого -

init: function() { 
    this.on("success", function(file, data) { 

     // Log both the file object and server response 
     console.log(file); 
     console.log(data); 

     // Remove the file from the dropzone so it doesn't clutter the UI 
     this.removeFile(file); 
    }); 
} 

Где файл находится объект и данные это ответ сервера (вы можете вернуть URL-адрес загруженного файла в PHP после передачи данных на него, как и в обычной форме). Я заметил, что вы также отметили PHP, поэтому я предполагаю, что это намеченная цель.

См. http://www.dropzonejs.com/#configuration для использования.

Edit:

Чтобы отобразить содержимое текстового файла попробовать это с вашим кодом -

var editor = document.getElementById('editor'); 

accept: function(file, done) { 

    // Get the file contents - Load result into element 
    var reader = new FileReader(); 
    reader.onload = function(e) { 
     editor.innerText = reader.result; 
    } 
    reader.readAsText(file); 

    // Return done 
    done(); 
} 
+0

, но я хочу, чтобы отобразить содержимое файла в текстовое поле. Я думаю, что это можно сделать без первоначальной загрузки файла на сервер. Я хочу, чтобы перетащить файл, и содержимое файла будет отображаться в текстовом поле. поддерживаемые типы файлов - .txt, .cpp, .c и т. д. –

+0

Я отредактировал свой ответ для вас - Извините, я неправильно понял первоначальный вопрос! Надеюсь, это сработает, если не сообщит мне. – Daelune

+0

большое спасибо. это сработало! –

Смежные вопросы