2015-02-19 5 views
3

Я изучаю проблему загрузки файлов с помощью html5, и у меня есть теоретический вопрос: имеет ли html5 какие-либо ограничения на размер файла для загрузки? Например, можно ли загружать файлы размером ~ 500 ГБ?Ограничение по размеру для загрузки файла

P.S .: Я использую FileReader api для чтения файла.

Хорошо. Эта проблема решена.

Но как это объясняет FileReader API:

Этот интерфейс предоставляет методы для чтения объектов File или Blob объекты в памяти ...

Как я правильно понял, я не могу читать файл с размером, который больше, чем доступная оперативная память?

+0

HTTP://stackoverflow.com/questions/20706418/are-there-file-size-limitations-when-using-javascript-filereader-api – pawel

+0

@pawel Я также видел это и собирался обозначить как дубликат, но так как ответа не получил, он бы этого не допустил. Это позорный ответ нельзя проголосовать за – atmd

ответ

5

Нет, ограничение на максимальную загрузку отсутствует.

here is the spec и вот связанный с этим вопрос о том, как check the file size, так что вы можете добавить лимиты, если хотите.

Следует отметить, что если вы хотите сохранить файл на сервере, вы можете нажать на ограничения/ограничения для загрузки файлов. Но вы должны быть в состоянии их настроить. то есть PHP/WordPress предел загрузки по умолчанию

+0

Спасибо за ответ! –

+0

И могу ли я задать еще один вопрос: можем ли мы прочитать файл частично? Если у нас есть файл размером 300 ГБ, его можно прочитать в памяти? –

+0

Частично, вы имеете в виду, прочитайте раздел (скажем, половину) файла или прочитайте файл в патронах, а затем за один раз? Мое понимание из спецификации (хотя я могу ошибаться) заключается в том, что файл *** *** читается в кусках. Не уверен Re: memory. Я знаю, что ограничение хранения в браузере меньше, чем доступный ram, но это касается моего предела – atmd

0

Надеется, что это полезно ..

Форма, скрипт для проверки:

<form action="check.php" method="post" enctype="multipart/form-data"> 
<label>Upload An Image</label> 
<input type="file" id="file_upload" name="file_upload" /> 
<input type="submit" onClick="return validate()" name="upload"/> 
</form> 

<script> 
function validate(){ 
var size=2097152; 
var file_size=document.getElementById('file_upload').files[0].size; 
if(file_size>=size){ 
    alert('File too large'); 
    return false; 
} 
var type='image/jpeg'; 
var file_type=document.getElementById('file_upload').files[0].type; 
if(file_type!=type){ 
    alert('Format not supported,Only .jpeg images are accepted'); 
    return false; 
} 
} 

PHP для загрузки:

<?php 
     if(isset($_POST['upload'])){ 

       $target_dir = "uploads/"; 
       $target_file = $target_dir . basename($_FILES["file_upload"]["name"]); 
       if(move_uploaded_file($_FILES["file_upload"]["tmp_name"], $target_file)){ 
       echo "The file ". basename($_FILES["file_upload"]["name"]). " has been uploaded."; 
       } 
       else{ 
        echo "sorry"; 
        } 

     } 
    ?> 
Смежные вопросы