Примечание: загрузите его с AJAX, файл не может быть слишком большим, лучше всего быть менее трех или четырехсот триллиона, потому что чрезмерные непрерывные запросы AJAX будут разрушаться на фоне, а данные в InputStream будут пусты, особенно во время Google Тест браузера.
1. Простые файлы чтения сегмента - это Blob, Ajax загружается на сервер
<div class = container> <div class = panel panel-default> <div class = panel-heading> файл чтения: < / div> <div class = panel-body> <input type = file id = file /> <blockquote Style = Word-Break: Break-All;> </blockquote> </div> </div> </div>
JS:
/** Файлы сегментации представляют собой Blobs, и загружаются на сервер* сегменты для загрузки файлов EXE с помощью AJAX, выбросит исключение* /var filebox = document.getElementbyId ('file'); 0]; ; // Прочитайте раздел «Успешное чтение». {Console.info ('Loaded:' + culoaded + 'current:' + загружен); «Всего: ' + (new Date (). GetTime () - startTime.getTime ()) / 1000); // Укажите исходную позицию и файл чтения конечной позиции //console.info_start: ' + start); (Blob);} // Начнется чтение readblob (0); Server var fd = new FormData (); ); VAR DATA = eval (' + xhr.responsetext +');
Фоновый код:
/// <summary> /// Upload2 Аннотация = context; ; .Toint32 (req.form [загружен]); _file.inputStream; ) ;; WriteLine (TotalCount + DataOne.length) .tring ()); Вернуть true;}}
2. Прочитайте файл в разделах, чтобы разбить и загрузите его на сервер с помощью AJAX.
<div class = container> <div class = panel panel-default> <div class = panel-heading> файл чтения: < / div> <div class = panel-body> <input type = file id = file /> <br />) /Progress> <blockquote id = Status style = break: break-all;> </blockquote> </div> </div>
JS:
/** Файлы сегментации представляют собой Blobs, и загрузить его на сервер AJAX* Используйте AJAX, чтобы отправить разгрузка файла данных. длинное соединение или websocket */var filebox = document.getelementbyid ('file'); NULL; ); e.loaded; -current: ' + загружен); ). Value = процент;});} // Запуск чтения readblob (0); ; post ',' ../ashx/upload2.ashx ', true); (xhr.status == 500) {//console.info ('Ошибка запроса,' + xhr.responsetext); / );} // Приостановка функции stop () {// console.info ('stop, culoaded:' + culoaded); Продолжайте, Culoaded: ' + culoaded);
Фоновый код с выше
3. Прочтите файлы в разделах в двоичный массив и загрузите их на сервер с Ajax
Использование бинарных массивов особенно низкое, а окончательный файл немного отклоняется от исходного размера
HTML -контент такой же, как и выше
JS:
/** Сегментированные файлы считывания представляют собой бинарный массив, а загрузка на сервер с помощью Ajax для использования метода передачи с использованием бинарных массивов. = Document.getElementById ('file'); Читать общее число var foot = null; // Если значение присваивается несколько раз, данные будут потеряны new Date (); / Данные сегмента загрузки на сервер uploadfile (результат, кучу ed, function () {console.info ('загружен:' + culoaded + '---- current:' + loaded); // Если не закончено, продолжайте culoaded + = Загружен; } // Показ результатов = (culoaded / total) * 100; начало читать. Server var fd = новое для mdata (); (); {// console.info (xhr.responsetext); / Начните отправлять xhr.send (fd);}} // Укажите исходную позицию. , Culoaded: ' + culoaded);
Фоновый код:
/// <summary> /// Upload3 Аннотация Инструкции /// </summary> Public Class Upload3: ihttphandler {loghelper.loghelper_log = new loghelper.loghelper (); = Context; (Q)). ','). это тип Int, самая большая проблема будет 1,9999999990686774G int loaded.toint32 (req.form [загружен]); ; fs.write (dataOne, 0, dataOne.length);} наконец {fs.close ();} _log.writeline); Writest (string str) {httpcontext.response.write (str);} public bool iSreable {get {return false;}}}Суммировать
Приведенное выше - файл HTML5+FileReareader Read Files и загрузил его на сервер. Большое спасибо за вашу поддержку на веб -сайте Vevb Wulin!