Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.05.2014, 10:40
Новичок на форуме
Отправить личное сообщение для tikki Посмотреть профиль Найти все сообщения от tikki
 
Регистрация: 08.07.2013
Сообщений: 6

Добавление файлов к уже выбранным до загрузки на сервер
Ситуация такая: Есть форма в которой присутствует окно для текстового сообщения и кнопка "Прикрепить файлы".
Пишу текст, жму кнопку "Прикрепить файлы", выбираю 2-3файла, и тут вспоминаю, что мне надо к этому сообщению добавить еще файлик. Повторно жму кнопку "Прикрепить файлы", выбираю... и получается что 2-3 файла выбранные ранее у меня теряются.
Сейчас я сделала так: в момент выбора с помощью XMLHttpRequest загружаю файлы на сервер, и тогда повторный выбор файлов не уничтожает первичный. Но сейчас File API позволяет все что угодно делать с файлами до загрузки на сервер и поэтому справедливо возникает вопрос, а нельзя ли каким-то образом сохранить первичный $_FILSE и к нему добавлять новые файлы до загрузки на сервер?

<form name="flsms" method="POST" ACTION="index.php?up_lod" enctype="multipart/form-data">
      <textarea name="message" id="message" style="width: 99%;" rows="8" WRAP="physical" required></textarea>
	<button onclick="showFileInput()">Прикрепить файлы</button>
     	<input name="uploads[]" type="file" id="fileInput" style="display:none;" multiple="multiple"  onchange="processFiles(this.files)">
        
       <div  id="fileOutput" name="fileOutput"></div></form>

function processFiles(files) {
    var formData = new FormData();

    for (var i = 0, f; f = files[i]; i++) {
	    formData.append("uploadfile" + i, f);
	
    }
	var req;
	if (window.XMLHttpRequest)
	    req = new XMLHttpRequest();
	else if (window.ActiveXObject) {
	    // Internet Explorer
	    try {
		req = new ActiveXObject('Msxml2.XMLHTTP');
	    } catch (e) {
	    }
	    try {
		req = new ActiveXObject('Microsoft.XMLHTTP');
	    } catch (e) {
	    }
	}

	if (req) {
	    req.onreadystatechange = function() {
		if (req.readyState == 4 && req.status == 200) {
	   		document.getElementById('fileOutput').innerHTML =  req.responseText
		}
	    };
	    req.open('POST', "index.php?load_filse", true);
	    req.send(formData);
	}

}

function showFileInput() {
    var fileInput = document.getElementById("fileInput");
    fileInput.click();
}
Ответить с цитированием
  #2 (permalink)  
Старый 23.05.2014, 16:08
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

считывай через FileReader в переменную уже выбранные файлы по событию onchange.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прочитать параметры файла JPEG ещё в браузере, до загрузки на сервер? Webnode Общие вопросы Javascript 6 13.01.2014 20:44
Загрузка файлов на сервер: jquery и Commons File Upload kliver AJAX и COMET 11 02.07.2012 11:19
Индиептор загрузки файлов С СЕРВЕРА! GrishinEV Events/DOM/Window 12 01.12.2011 14:05
Помогите пожалуйста с обьяснением загрузки изображения на сервер. 0931454574 Серверные языки и технологии 3 11.05.2011 18:05
Помогите с индикатором загрузки файлов Ролан Общие вопросы Javascript 1 17.01.2009 08:14