Загрузите файл размером больше, чем «upload_max_filesize» и «post_max_size» в php.ini, с помощью XMLHttpRequest.Php

Кемеровские программисты php общаются здесь
Ответить
Гость
 Загрузите файл размером больше, чем «upload_max_filesize» и «post_max_size» в php.ini, с помощью XMLHttpRequest.

Сообщение Гость »


Предположим, мы создаем игрушечный автономный сервис, подобный WeTransfer, с помощью следующего кода. Это работает для файлов размером менее 100 МБ.
Как заставить это работать с файлами размером 1 ГБ и более? который может превышать размер php.ini

Код: Выделить всё

upload_max_filesize
and

Код: Выделить всё

post_max_size
?
More generally, how can we do a

Код: Выделить всё

XMLHttpRequest
file upload (with a file appended to a

Код: Выделить всё

FormData
object), with a file bigger than the server's RAM?[/b]
Is there a way to to do the XHR upload by chunks, and if so, how?

Код: Выделить всё


drag and drop your file here!

var $ = document.querySelector.bind(document);
var readfiles = files => {
var formData = new FormData();
formData.append('fname', files[0].name);
formData.append('data', files[0]);
$("#container").innerHTML = 'beginning ulpoad... progress: ';
var xhr = new XMLHttpRequest();
xhr.open('POST', '');
xhr.onload = () => {
$("#container").innerHTML =  xhr.responseText;
};
xhr.upload.onprogress = (event) => {
if (event.lengthComputable) {
$("#container").innerHTML = 'ulpoading... progress: ' + (event.loaded / event.total * 100 | 0) + '%
';
}
};
xhr.send(formData);
}
document.body.ondragover = () => { $("#container").innerHTML = 'drop your file here...'; return false; };
document.body.ondrop = (e) => { e.preventDefault(); readfiles(e.dataTransfer.files); };



Источник: [url]https://stackoverflow.com/questions/78116701/upload-file-bigger-than-php-inis-upload-max-filesize-and-post-max-size-with[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»