Отправка файла с указанием сколько загруженноосталось


Содержание

Валидация и отправка файлов на сервер с помощью ajax

Сегодня я хочу рассказать, как отправить файлы на сервер из html-формы. Обычно эта процедура не вызывает никаких затруднений: кодировка multipart/form-data у формы, input type=»file» и все. Остается принять файлы на сервере и скопировать их в нужное место.

Но мы сделаем интереснее, отправим файлы с помощью ajax, без перезагрузки страницы. А также посмотрим, как валидировать файлы на клиенте и сервере, а именно проверять максимальный размер загружаемых файлов и допустимые расширения.

Суть задачи

По итогу статьи у нас получится небольшое приложение, которое отрисует форму с тремя полями ввода и кнопкой Отправить. Будем считать, что мы хотим получить от пользователей три файла-картинки. При этом нужно задать максимальный размер загружаемых файлов и ограничить набор расширений. Проверять файлы нужно как на клиенте, для удобства пользователей, так и на сервере, для защиты от возможных атак. Если обе проверки пройдены, то скопируем файлы на сервере в папку upload.

Для нетерпеливых сразу ссылки на демо приложения и исходники

Подготовим шаблон проекта.

В корень проекта положим файл index.html, в папку js файлы jquery.min.js и main.js (не забудем их подключить в index.html). Серверный код будет выполнять upload.php из папки php, а для полученных файлов создадим папку upload.

html-заготовка формы

Создадим простейшую форму в index.html

Заметим, что никаких атрибутов, вроде enctype у формы или name у input-ов, навешивать не нужно — все сделает javascript.

Базовый клиентский код

Мы создали модуль приложения app, и в методе init подключили обработку сабмита формы. В функции submitForm данные для отправки готовятся с помощью объекта formdata соответствующего класса FormData. Перебирая все поля выбора файлов .js-photos, мы добавляем файлы к этому объекту методом append. Обратите внимание на название photos[] — квадратные скобки обязательны, так как в противном случае на сервер попадет не массив файлов, а только один.

Дальше в настройках метода $.ajax указываем стандартные параметры url, data и type. Отправляем данные, конечно, POST-ом. processData и contentType нужно отключить. Поставим dataType = «json», так как именно в этом формате сервер будет возвращать ответ. multipart/form-data опять не указывается явно, потому что она проставляется сама при использовании объекта FormData. Разумеется, кроме файлов Вы можете отправить и еще какие угодно данные, добавив их в formdata, например так: formdata.append(‘name’, ‘John’);

Валидацию пока не делаем, рассмотрим ее ниже. А пока переходим к серверной части.

Принимаем файлы на сервере и перемещаем в нужную папку

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

Сначала мы извлекаем массив файлов из $_FILES[‘photos’] и отпределяем папку назначения — куда мы копируем искомые файлы. PHP предварительно копирует файлы во временную папку, свойство tmp_name из $_FILES даст нам полный путь к этому временному файлу. Далее перебираем наш массив и перемещаем файлы в нужную папку под тем же названием, с которым он пришел с клиента. Этим занимается функция move_uploaded_file. В конце возвращаем клиенту успешный код ответа.

В принципе, чтобы просто отправить файлы на сервер, приведенного кода достаточно. Но при этом у нас нет никаких средств для проверки правильности выбранных файлов и защиты от атак. Поэтому дальше займемся валидацией файлов на клиенте и сервере. Начнем с клиента.

Валидация файлов на клиенте

Нам нужна функция, которая проверит массив файлов с формы на некоторые условия, а именно:

  • 1. Выбран ли вообще файл
  • 2. Не превышает ли его размер максимальный
  • 3. Подходит ли файл по формату

Если какие-то условия не выполняются, то будем складывать в массив имя файла, в котором произошла ошибка, и указывать код ошибки. Дополнительно укажем, в каком по счету элементе input ошибка.

Например, ошибка может выглядеть так.

Это означает, что в input[0] (в первом по счету поле) пользователь добавил файл test.pdf, формат которого не поддерживается, так как мы просим изображения. Это одна ошибка валидации. А массив таких ошибок и будет результатом выполнения функции. Если ошибок нет, все файлы выбраны и заданы правильно, то вернем пустой массив.

Впрочем, сейчас посмотрим, как это работает. Добавим функцию валидации validateFiles.

В параметре options мы передаем объект из трех полей: $files, maxSize и types. Соответственно, это jQuery-массив элементов input, максимальный размер файла в байтах и массив допустимых типов-расширений файлов, например, image/jpg, image/png или application/pdf — список типов легко можно загуглить.

Мы перебираем массив файлов и последовательно делаем проверки. Сначала смотрим, выбран ли вообще файл. Если нет, добавляем в результирующий массив ошибок пукнт с кодом no_file. Это будет объект-ошибка — имени предсказуемо нет. Дальше мы сразу переходим к следующему файлу, проверит размер и расширение мы не сможем.

Проверка на максимальный размер в случае неуспеха вернет объект , а несоответствие типа —

Обратите внимание, если в одном файле ловится несколько ошибок (максимум две в нашем случае), например, test.pdf слишком большого веса, то в результате мы получим 2 объекта. Имеет смысл группировать эти ошибки по имени файла, но не хочется усложнять код. В конце концов, если это необходимо, Вы сможете обработать выводимый результат как угодно.

Функцию написали, осталось задействовать ее в основном потоке кода. Немного расширим код submitForm:

Как видим, мы добавили вызов validateFiles с нужными параметрами. Максимальный размер файла ограничим 2 Мб, а типы возьмем jpg и png-картинки. После вызова проверяем, не пустой ли массив полученных ошибок, и если таки не пустой, то выводим результаты в консоль и выходим из функции сабмита. Файлы на сервер не уйдут.

Как обрабатывать ошибки и показывать их пользователю — дело исключительно хозяйское :-) Нам сейчас главное убедиться, что наша валидация работает.

Клиенсткий код закончен, можете побаловаться с файлами, добавить или убрать форматы разрешенных типов или изменить максимальный размер. Наш клиентский код должен точно реагировать на все попытки загрузить «неправильные» файлы. А мы переходим к валидации на стороне сервера.

Валидация файлов на сервере

Вообще для посетителей сайта будет срабатывать клиентская валидация. Тем самым наши посетители получат мгновенную обратную связь, а сервер освободится от ненужной работы. Но в случае получения пользовательских данных всегда нужно проводить дополнительную валидацию на стороне сервера. Этим мы и займемся.

php-шная функция валидации будет проверять ровно те же параметры, что и клиентская. Но кроме двух пунктов: проверки на наличие файла и возврат индекса. Это связано с тем, что мы проверяем все файлы пришедшие с клиента и не знаем, что некоторые клиент мог не заполнить. Лучше увидеть на примере. Напишем саму функцию

Обращаю внимание, что для синхронизации клиента и сервера в обеих функциях валидации используется одинаковый формат объекта-ошибки и коды ошибок. Это облегчит нам обработку ошибок в интерфейсе независимо от того, сработала ли валидация клиентская или серверная.

После этого остается использовать написанную функцию в основном коде

Вот и все. Как видим, валидация на сервере подключена ровно таким же способом, как и на клиенте.

Чтобы убедиться, что и серверная валидация успешно работает, закомментируйте одну строку в main.js

Теперь попробуйте ввести в форму ошибочные данные и увидите, что в консоли выпадет сообщение «client validation errors:» с массивом ошибок от клиентской валидации, а следом «responce from server:» с ошибками от серверной. Ошибки должны быть совершенно идентичными, за исключением no_file на клиенте и отсутствия поля index на сервере.

Например, если Вы пропустите первое поле, во второе загрузите pdf-ку, а в третье — валидную картинку, то увидите примерно такую картину

Загрузка файлов определенного формата на сервер

Подскажите пожалуйста как реализовать следующее:
Нужно на сервер загружать файл определенного формата, .xlsx или xls.

У меня получается такой код,

25.11.2020, 19:51

Загрузка файлов на сервер определенного типа
Здравствуйте! Помогите решить задачу. Есть такой код для загрузки файлов на сервер. .

Загрузка файлов на сервер
1) Реализуйте загрузку на сайт аудио-файлов в папку music. В обязательном порядке, они все должны.

Загрузка файлов на сервер
Подскажите как загрузить файл на сервер, пользуя метод $_GET? имею форму: 12 25.11.2020, 20:45 2 25.11.2020, 20:45 3 25.11.2020, 20:46 4

25.11.2020, 20:46
25.11.2020, 20:46

как мы синхронно:yahoo:

Меню пользователя @ fanatikus
25.11.2020, 22:34 [ТС] 6
26.11.2020, 10:16 7
26.11.2020, 11:45 [ТС] 8
26.11.2020, 12:35 9

lijavefe, после return ничего и не должно выполняться. Уберите его и всё будет работать как надо.

Если нужно показывать сообщение, можете делать редирект на site.ru/?success=true. И код примерно такой:

26.11.2020, 14:20 [ТС] 10
26.11.2020, 14:41 11
26.11.2020, 14:53 12
26.11.2020, 16:46 [ТС] 13
26.11.2020, 16:46
26.11.2020, 16:46

Загрузка файлов на сервер
Вот я сделал форму загрузки файлов, как сделать так чтоб все загруженные файлы загружались на мой.

Загрузка файлов на сервер
Столкнулся с таким траблом Написал скрипт загрузки изображения на сервер $url = «ava»;.

Загрузка файлов на сервер
Нужна помощь! Делаю админку на сайте, но появилась проблемка не могу никак обьеденить загрузчик и.

Три способа переслать файл большого размера

Переслать файл кому-либо по интернету можно массой способов и всякий, кто это делает, выбирает самый очевидный способ — отправить по электронной почте. Но тут есть ограничение на размер файла, обычно 25 мБ, некоторые программы в формате .exe вряд ли получится переслать из-за ограничений безопасности. Разве что поместив их в архив. Многие используют для передачи скайп, тут ограничений на размер файла нет, но передача идет не очень быстро, в независимости от скорости сети. Я так никогда и не дожидался конца передачи больших файлов, а воспользовался другими инструментами, о которых и расскажу ниже.

Передача с помощью облачных сервисов

Облака уже достаточно давно вошли в нашу жизнь и очевидно это самый понятный способ передачи любых файлов. У всех популярных почтовых сервисов есть свое облако.

У Gmail это Google Drive – изначально доступно 15 гБ бесплатно, отличная интеграция со всеми сервисами google и отличная скорость.У Яндекс почты есть свой дискна 10 гБ с возможностью расширения. Установите на смартфон приложение яндекс диск и включите автозагрузку фото, получите +32 гБ. Есть интересная фишка скриншоты, которая сохраняет их сразу в Яндекс Диск. С возможностью редактирования и оформления сделанных снимков экрана.Почта от Майл может похвастаться облаком на 50 гБ для новых пользователей, раньше можно было зарезервировать 100 гБ, это, пожалуй, все достоинства.Самое безопасное на данный момент облако Mega с 50 гБ бесплатно, шифрованием файлов, классным интерфейсом и приличной скоростью.

Не упомянул самый популярный основополага ющий Dropbox только потому, что его скудные 2 гБ изначально не годятся для передачи больших файлов. Да и существует масса различных облаков с разными условиями я рассказал на мой взгляд о самых популярных в рунете.

Передача файлов таким способом имеет ряд преимуществ и недостатков:

  • Чтобы отправить файл, его нужно сначала поместить на сервер хранилища, а это не всегда удобно, нужно время и наличие достаточного свободного места.
  • В связке с почтой – хорошая интеграция и возможность просто давать доступ к файлу сторонним лицам, либо помещать в открытый доступ.
  • Сами облачные сервисы предлагают инструмент просмотра и редактирования некоторых файлов.
  • В случае Mega шифрование по умолчанию и ключ передается в ссылке получателю.
  • Файл доступен пока он находится в облаке.

Передача в окне браузера

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

Dropmefiles.com

Пожалуй, самый функциональный сервис по перемещению файлов больших размеров. Весь функционал находится в одном окне, с удобными подсказками и понятным расположением элементов управления.

  • Перетащите нужный файл или папку в окно браузера, нажмите чтобы выбрать на компьютере или используйте ctrl+v, чтобы вставить из буфера обмена.
  • Копируйте ссылку, чтобы отправить удобным для вас способом. Или отправляйте сразу по почте добавляя сообщение до 140 символов.
  • Храните до 14 дней файл на сервисе или пересылайте напрямую не закрывая окно браузера.
  • Возможность установить пароль, буквенный или числовой.
  • Скорость сервиса вполне хорошая, конечно с оглядкой на вашего провайдера.

File.pizza

Очень простой сервис передачи любых файлов напрямую из браузера, передача возможна только когда окно открыто. И до того момента как по полученной ссылке файл не будет скачан. Если вам нужно отправить файл нескольким пользователям, придется делать это каждый раз лично. Это особенности технологии вы передаете файл напрямую, не загружая на сторонний сервер.

  • Файл отправляется напрямую, исключая загрузку на сервер, p2p соединение как торрент.
  • Выбрать или перетащить в окно браузера нужный файл для передачи.
  • Не работает в мобильном safari.
  • В остальном, прелестно и безопасно.

BitTorrent sync

Ваша персональная торрент сеть, для работы которой необходимо наличие клиента bittorent sync, благо есть поддержка ВСЕХ платформ, включая накопители и прочие облачные устройства. Возможности по обмену и передаче файлов у программы внушительны, подробно и очень понятно можно почитать здесь. Скажу, что скорость и правда хороша, шифрование и передача файла напрямую делают этот способ особенно привлекательным. Омрачает столь радужные восхваления лишь два аспекта: неприличная цена 2499 руб./год за PRO версию (хотя можно и обойтись FREE версией) и немного запутанное управление для неопытного пользователя.

Анонимный способ

Совершенно удивительный бесплатный и анонимный сервис anonymousfiles.io передачи файлов до 5 Гб. Перетащите или выберете файлы на компьютере. Получите ссылку, поделитесь ссылкой.

Удалить загруженные файлы нельзя, но можно определить время их жизни до 6 месяцев. Никаких логов и ограничений для загрузки и скачивания. Удивительный и бесплатный способ безопасного обмена.

Мнение

С каждым днем мы приближаемся к тому что большую часть задач мы выполняем в браузере, переброс больших файлов по сети тоже перебрался в окно браузера, переместился в облако или как в случае с bittorent sync освоил p2p сети и шифрование ключами. Потоки движутся в 21 веке с невероятно скоростью и масштабами, а инструментов для этого человечество придумало предостаточно!

Если вы знаете о других, которые принципиально отличаются от представленных, пишите в комментариях — будет интересно!

Отправка больших файлов с помощью Outlook

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

Если вы попытаетесь вложить файлы, размер которых превышает ограничение, вы получите сообщение об ошибке. Существует несколько способов обойти это ограничение. Например, можно воспользоваться службой общего доступа или сжать файл.

Outlook ограничения размера файлов, которые вы можете отправить. Это ограничение предотвращает компьютер постоянно попытке отправить очень большие вложения, размер которых превышает ограничения большинство поставщиков услуг Интернета. Для учетной записи электронной почты Интернета. Например, Outlook.com или Gmail максимальный размер файла вместе — 20 мегабайт (МБ) и для учетных записей Exchange (электронный адрес), максимальный размер файла вместе по умолчанию — 10 МБ.

Сохранение файла в облачной службе и отправка ссылки на него

Существует множество облачные хранилища службы к которым можно загрузить и затем обмен файлами большого размера. Некоторые часто используемые облачных служб хранения включают OneDrive, Dropbox, iCloud и Google Drive. Если файл хранится в облаке, можно включить ссылки на документ в сообщение электронной почты.

Добавьте свой файл в облачную службу, например OneDrive или Dropbox.

Примечание: Служба создаст ссылку для доступа к файлу. Получатель сообщения сможет открыть ссылку для скачивания файла.

После отправки файла, скопируйте ссылку и вставьте его в сообщение электронной почты.

Совет: Подробные сведения об отправке файлов и создании ссылке для загрузки в OneDrive перейдите к передача фотографий и файлов и общий доступ к файлам и папкам и изменение разрешений.

Сжатие файлов

Когда вы сжимаете ( запаковываете ) файл, его размер уменьшается и он может стать меньше ограничений Outlook. В следующих статьях приведены инструкции по сжатию и извлечению файлов для разных операционных систем Windows:

Уменьшение размера изображения

Если вы отправляете большими файлами изображений можно автоматически изменять их уменьшить его размер файла.

Вложение изображений в полученном сообщении электронной почты.

Щелкните Файл > Сведения.

В разделе Графические вложения выберите Уменьшать большие изображения при отправке сообщения.

Вернитесь к сообщению и нажмите кнопку Отправить.

Сохранение файла в библиотеку сервера SharePoint

Если вы используете Outlook в деловой среде и использовать SharePoint, можно сохранить файл в библиотеке SharePoint и отправка ссылки на файл. Инструкции содержатся в разделе общий доступ к документу с использованием SharePoint или OneDrive .

Для Outlook 2010 и Outlook 2007, если вы пытаетесь отправить сообщение с вложениями, слишком большое сообщение» размер вложения превышает допустимый предел «отображается.

Примечание: Дополнительные сведения о том, как изменить размеры максимальное допустимое вложение просмотреть сообщение об ошибке «размер вложения превышает допустимый предел».

Даже если сообщение не превышают ограничения размера вложений Outlook и Exchange Server, есть вероятность поставщик услуг электронной почты получателя и могут блокировать сообщения, содержащие большие вложения. Чтобы уменьшить размер вложения, которые вы отправляете в Outlook, читайте в статье Уменьшите размер рисунков и вложений.

Помимо ограничений поставщика услуг электронной почты на общий размер сообщений следует иметь в виду, что вложения большого размера вообще не рекомендуется отправлять по электронной почте.

Большое сообщение может привести к превышению квоты на использование дискового пространства для почтового ящика получателя. Если для почтового ящика получателя превышена дисковая квота, пользователь не сможет получить другие сообщения.

Большое сообщение может привести к превышению дисковой квоты вашего почтового ящика. Все отправленные сообщения сохраняются в папке Отправленные. Отправка больших вложений другим людям также сказывается на квоте вашего почтового ящика. В случае превышения дисковой квоты поступление новых сообщений может быть заблокировано.

Увеличение размера вложений Все файлы, прикрепляемые к сообщениям, кодируются. Поскольку файл, вложенный в сообщение, должен быть закодирован, его размер увеличивается в 1,37 раза. Например, если вы отправляете файл размером 5 МБ, размер вложения составит 6,85 МБ.

Есть несколько способов обмена большими файлами и совместной работы с другими пользователями без отправки вложений.

Библиотеки Microsoft SharePoint Server Если у вас есть доступ к библиотеке SharePoint Server, можно сохранить файлы в библиотеку. Подробнее читайте Сохранить файл в библиотеке SharePoint. Библиотеки SharePoint может осуществляться непосредственно в Outlook.

Если ваша организация использует SharePoint Server и предоставляет Личных сайтов, отправка файлов в библиотеке общих документов личного сайта и нажмите Добавление ссылки на файл в сообщение.

При открытии библиотеки документов SharePoint, в которую был загружен файл, щелкните правой кнопкой мыши ссылку на документ, выберите команду Копировать гиперссылку и вставьте ссылку (CTRL+V) в свое сообщение.

OneDrive OneDrive — это бесплатная служба корпорации Майкрософт, которая представляет online файлы, защищенные паролем хранилище его можно сохранить, доступ к и совместное использование файлов в Интернете с друзьями и коллегами, практически отовсюду. Документы Microsoft Office можно сохранять непосредственно OneDrive. Дополнительные сведения в статье Знакомство с OneDrive.

Общие сетевые папки Сохранение файлов в папке, доступной получатели также. Затем можно отправить получателям сообщение, содержащее ссылку в общем расположении. На вкладке Вставка в группе ссылки нажмите кнопку Гиперссылка. Если общедоступном расположении путь и имя файла содержит пробелы, ознакомьтесь со статьей Добавление ссылок с пробелами в сообщения электронной почты.

Сайты обмена фотографиями При отправке рисунков другому, рассмотрите возможность изменения размеров этих изображений, прежде чем отправить их. Узнайте, Уменьшите размер рисунков и вложений. Современные цифровые камеры каждый рисунок может быть 3 МБ или больше при перемещении с камеры. Если вы не хотите изменить размер рисунков, существует множество фотографий, общий доступ к веб-сайтов, где можно отправить изображения, а затем отправьте ссылку к рисункам в сообщении.

Сайты для обмена видеороликами Даже короткий видеофайл может иметь большой размер. Поэтому видеороликами следует обмениваться с помощью одного из способов, описанных в этой статье, или через сайты обмена видеороликами.

Примечание по безопасности: При вложении файла в сообщение необходимо указать получателя. Если файл загружается в общую папку или службу, внимательно изучите параметры конфиденциальности и безопасности этого сайта, включая условия доступа к файлам.

Как сделать форму загрузки файла на сайте

Дата публикации: 2020-09-15

От автора: приветствую вас друзья. Из этой небольшой статьи вы узнаете, как сделать форму загрузки файла на сайте. Это позволит прикреплять картинки и прочие файлы к форме и отправлять файлы на сервер, где они уже будут обработаны. Начнем.

Исходные файлы текущей статьи вы можете скачать по ссылке.

Начнем с создания формы, в которой будет присутствовать поле для загрузки файла. На что здесь стоит обратить внимание? Во-первых, поле для отправки файла должно иметь специальный тип – type=»file». Во-вторых, файл может быть отправлен только в теле запроса, поэтому метод GET для отправки формы не подойдет, нужно использовать только метод POST — method=»post». Ну и, в-третьих, для формы необходим специальный атрибут enctype с определенным значением — enctype=»multipart/form-data». Без этого атрибута файл просто не будет отправлен.

Исходя из озвученного выше, наш код будет примерно таким:

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Компьютерная грамотность с Надеждой

Заполняем пробелы – расширяем горизонты!

    CompGramotnost.ru » Диски, файлы, папки » Как переслать файл большого размера (до 50 Гб)

Как переслать файл большого размера (до 50 Гб)

Суть вопроса «Как переслать файл большого размера?» сводится к тому, что нам предстоит переслать файл, размер которого может превысить максимально допустимый предел того сервиса (или той программы), с помощью которого мы пересылаем «тяжелый» файл.

Рассчитывая на русское «авось», можно попробовать переслать файл большого размера любым известным Вам способом. Если файл удается отправить, то все отлично!

В противном случае придется попробовать другие сервисы (или программы) для того, чтобы переслать файл большого размера. Для начала следует определиться с тем, насколько наш файл большой.

Как определить размер файла?

Если щелкнуть по значку файла правой кнопкой мыши, то появится контекстное меню, в котором будет перечислено все то, что можно сделать с выбранным файлом (рис. 1):

Рис. 1 Свойства файла

Нас интересуют свойства файла, поэтому кликаем по команде «Свойства»:

Рис. 2 Определяем размер файла

Таким образом определяем, что размер файла Fotoknigi 17,1 Килобайт. По размеру это маленький файл и для его пересылки можно воспользоваться обычной электронной почтой.

Как переслать файл большого размера (до 50 Гб) с помощью DropMeFiles?

DropMeFiles – бесплатный сервис мгновенного обмена файлами:

Плюсы сервиса dropmefiles:

  • Бесплатный
  • Без регистрации
  • Можно переслать файлы до 50 Гигабайт

Минусы сервиса dropmefiles:

  • Ограничение на срок хранения файлов – 14 дней

Но сервис DropMeFiles создан, чтобы обмениваться файлами, а НЕ для их хранения, поэтому за 14 дней можно отправить и получить файлы большого размера.

Рис. 3 DropMeFiles – бесплатный сервис мгновенного обмена файлами

Заходим по указанной выше ссылке на сервис DropMeFiles (рис. 3) и перемещаем на него большой файл со своего компьютера одним из двух способов:

  • 1-ый способ. Уменьшаем окно с сервисом DropMeFiles примерно на половину экрана. На второй половине экрана открываем окно с папкой, в котором хранится наш файл. Схватив файл левой кнопкой мыши, перетаскиваем его (почти как кошка таскает своего котенка «за шкирку») на сервис DropMeFiles и отпускаем мышку внутри круга с надписью «Перетащите файлы сюда».
  • 2-ой способ. На сервисе DropMeFiles подводим курсор мыши к надписи «Перетащите файлы сюда», после чего эта надпись превращается в другую: «или нажмите для выбора файлов». Нажимаем по ней и в появившемся окне воспользуемся возможностью найти на своем компьютере файл для пересылки (шаги 1-3 на рис. 4):

Рис. 4 Открыть файл для загрузки на DropMeFiles

Находим свой файл, кликаем по значку файла (цифра 1 на рис. 4), после чего имя файла автоматически появляется в строке «Имя файла» (цифра 2 на рис. 4). Щелкаем по кнопке «Открыть» выбранный файл и сразу идет загрузка файла с Вашего компьютера на сервис DropMeFiles.

В итоге получаем ссылку для скачивания файла, а также два поля (рис. 5) для возможности отправить сообщение знакомому о загруженном файле («послать весточку»):

Рис. 5 Файл загружен на DropMeFiles

Заполняем поля 1 и 2 на рис. 5:

  • В поле 1 вводим E-mail того человека, которому пересылается файл. Вместо электронного письма можно отправить SMS-сообщение (по России).
  • В поле 2 вводим свое имя или свой e-mail, чтобы было понятно, от кого пришло сообщение. Когда поля 1 и 2 на рис.3 заполнены, жмем на стрелку (обведена в красную рамку на рис.5).

При отправке по e-mail получаем на экране следующее сообщение (рис. 6):

Рис. 6 Сообщение об отправке файла с DropMeFiles

Как знакомому получить от Вас файл, переданный ему с помощью DropMeFiles?

Знакомый получит от Вас письмо с темой «Вам отправили файлы на DropMeFiles» следующего содержания:
«Вам отправили файлы на DropMeFiles
Отправитель: Надежда
Чтобы их скачать перейдите по ссылке:
http://dropmefiles.com/UCYzv
Срок действия ссылки истекает 29.01.2013 10:08»

Знакомый переходит по указанной в письме ссылке и увидит такую же картинку, как на рис. 7:

Рис. 7 Скачать файл с DropMeFiles

Нажав на кнопку «Скачать все», знакомый скачивает с сервиса DropMeFiles файл (или файлы) на свой компьютер, при этом файлы скачиваются с большой скоростью.

Как переслать файл большого размера (до 20 Гб) с помощью Яндекса?

На октябрь 2014 года максимально допустимый размер одного файла, который можно прикрепить к одному Яндекс письму – 30 Мегабайт.

Если к Яндекс письму нужно прикрепить несколько файлов, то их суммарный максимально допустимый объем также 30 Мегабайт. Технические моменты прикрепления файла изложены в статье «Как прикрепить файл к письму?».

Ниже информация с официального сайта help.yandex.ru/mail/letter/attachments.xml:

Если размер вложений превышает допустимый объем, файлы автоматически загрузятся на ваш Яндекс.Диск (папка Почтовые вложения → Отправленные как ссылки на Диск).

На 30 Мегабайт особо не разгуляешься, поэтому можно воспользоваться современным облачным сервисом Яндекс.Диск. Максимальный размер файла, который можно переслать с помощью Яндекс.Диска – 10 Гигабайт. О том, как это сделать, можно узнать в статье «Как загрузить файлы на Яндекс.Диск и как скачать?».

С января 2013 года закрыли файлообменник Яндекс Народ. При наличии аккаунта (почты) на Яндексе пользуйтесь теперь Яндекс Диском: с его помощью можно закачивать файлы до 20 Гигабайт, срок хранения файлов теперь НЕ ограничен.

Как переслать файл большого размера (до 10 Гб) с помощью Майл ру?

При написании письма можно прикрепить к письму до 100 файлов, размер каждого из которых до 2 ГБ. О том, как прикреплять файл к письму, описано здесь.

Для пересылки файлов при использовании почты Майл ру мало, можно воспользоваться Облаком Майл ру, подробнее об Облаке здесь.

Разработчики проекта Майл ру пошли по тому же пути, что и разработчики Яндекса в том смысле, что практически всех своих пользователей заставляют пользоваться облачными сервисами, в частности, Облаком Майл ру.

Разработчики Майл ру о больших файлах, которые пользователи прикрепляют к своим письмам, пишут следующее:

Когда вы отправляете файлы больше 25 МБ, они загружаются на облако и приходят получателю в виде ссылки. Такие файлы отмечаются значком и имеют определенный срок хранения — 30 дней с момента размещения, если они больше 5 МБ, и год, если они 5 МБ и меньше.

Когда вы прикрепляете к письму несколько файлов, Почта подсчитывает их вес. Часть файлов с общим объемом до 25 МБ прикрепляется к самому письму — они хранятся в Почте, пока хранится письмо. Остальные файлы, что не вошли в этот лимит, загружаются на облако, отмечаются значком и приходят в виде ссылки. Они имеют ограниченный срок хранения: если все, не вошедшие в лимит, файлы до 5 МБ — они хранятся год, больше 5 МБ — 30 дней.

Загрузка файлов с помощью PHP на сервер

Что может быть общего у фотографий, находящихся в онлайн-фотоальбоме, прикреплённых к электронному письму или у файлов, представленных в онлайн-приложении для пакетной обработки? Всех их необходимо загрузить на сервер через интернет из веб-браузера. Действительно, загрузка файлов является важной особенностью многих сайтов и веб-приложений, которые мы используем ежедневно. Из этой статьи вы узнаете, как добавить к себе на сайт поддержку загрузки файлов используя для этого PHP.

Требования перед загрузкой файлов

Обработка загружаемых файлов — стандартный процесс, но существует несколько мелочей, на которые необходимо обратить внимание перед началом работы. Первое, в чем нужно удостовериться, что PHP настроен и позволяет загружать файлы. Для этого в php.ini стоит проверить директиву file_uploads , и, если она выключена, то включить.

Загружаемые файлы сначала сохраняются во временном каталоге (но не волнуйтесь . ваш PHP-скрипт впоследствии может переместить файлы в более подходящее место). Исходное местоположение является временным каталогом для системы по умолчанию. Вы можете указать другой каталог, используя директиву upload_tmp_dir в php.ini. Независимо от этого, будет не лишним проверить, что процесс PHP имеет правильные права на запись в зависимости от используемого каталога.

После того, как вы уверены, что конфигурация позволяет серверу принимать загруженные файлы, вы можете сосредоточить свое внимание на деталях и добавить HTML форму. Крайне важно, чтобы ваш элемент

Стоит отметить, что разные браузеры будут визуализировать поле загрузки файла по-разному. IE, Firefox и Opera отображают его как текстовое поле с кнопкой рядом с ней надписью «Обзор» или «Выбрать». Safari отображает ее так же, как кнопку с надписью: «Выбрать файл». По большому счету это не проблема с тех пор, как пользователи привыкли к тому, как поле отображается в своем браузере и умеют его использовать. Иногда, однако, вы столкнетесь с клиентом или дизайнером, который непреклонно представляет его определенным образом. Количество CSS и JavaScript, которые могут применяться к файловому полю, крайне ограничено из-за соображений о безопасности, наложенных браузерами. Типизация файла может быть затруднена. Если внешний вид очень важен для вас, я рекомендую вам прочитать одну из статей «Питер-Пол Кох» типа ввода = «файл» .

Переходим на сервере и работаем с PHP

Информация о загрузке файла предоставляется с помощью многомерного массива $_FILES . Этот массив обладает своей структурой, назначенными именами для полей файла в форме HTML, точно так же, как и при работе с $_GET и $_POST . Затем массив каждого файла содержит следующие элементы:

  • $_FILES[«myFile»][«name»] — хранит исходное имя файла;
  • $_FILES[«myFile»][«type»] — сохраняет mime-типа файла;
  • $_FILES[«myFile»][«size»] — сохраняет размер файла (в байтах);
  • $_FILES[«myFile»][«tmp_name»] — хранит имя временного файла;
  • $_FILES[«myFile»][«error»] — хранит код ошибки, полученный в результате передачи.

При помощи функции move_uploaded_file() мы можем перенести файл из своего временного каталога в постоянное место. Так же хорошей практикой является использовать именно её вместо copy() и rename() для этой цели, поскольку она выполняет дополнительные проверки, чтобы гарантировать, что файл был действительно загружен запросом HTTP методом POST.

Если вы собираетесь сохранить файл с исходным именем, предоставленным пользователем, рекомендуется убедиться, что это безопасно. Имя файла не должно содержать символов, которые могут повлиять на путь назначения, например, косая черта (слэш). Имя файла должно быть уникальным, чтоб избежать затирания существующих с тем же именем (если это не предусматривается вашим приложением). Гарантировать это можно заменяя любые символы символом подчеркивания, который не является буквой, а затем добавляя увеличивающийся номер, если файл с таким именем уже существует.

Вот так как выглядит получение и обработка загрузки файла при помощи PHP:

Сначала мы удостоверяемся, что PHP загрузка файла на сервер прошла без ошибок. Затем определяем безопасное имя файла, как я только что описал выше, а затем перемещаем файл в его конечный каталог с помощью move_uploaded_file() . И наконец делаем вызов chmod() , чтобы убедиться, что в новом файле установлены необходимые права доступа.

Вопросы безопасности

Вы бы позволили совершенно незнакомым людям хранить файлы на наших персональных компьютерах? Не думаю так, и все же это именно то, что вы делаете, когда разрешаете загрузку файлов в вашем приложении. Вы можете намереваться загрузить изображение пользователя для страницы профиля, но что, если он попытается загрузить специально созданный, наполненный вирусами исполняемый файл? Я хотел бы поделиться несколькими шагами, которые вы можете предпринять, чтобы минимизировать риски безопасности, связанные с возможностью загрузки файлов.

Один из них заключается в том, чтобы проверить тип загружаемого файла, каким он должен быть. Опираться на значение $_FILES[«myFile»][«type»] или на расширение имени файла не является безопасным, поскольку оба могут легко подделываться. Скорее, используйте функцию exif_imagetype() , чтобы проверить содержимое файла и определить, действительно ли это GIF, JPEG или один из нескольких других поддерживаемых форматов изображений. Если exif_imagetype() недоступен (функция требует, чтобы расширение Exif было включено), вы можете использовать getimagesize() . Массив, возвращаемый ей, будет содержать тип изображения, если он распознан.

Для файлов без изображения вы можете использовать exec() для вызова утилиты файлов unix. он определяет тип файла, ища известные двоичные подписи в ожидаемых местах.

Еще один шаг, который вы можете предпринять, — наложить жесткие ограничения на общий размер запроса POST и количество файлов, которые можно загрузить. Для этого укажите соответствующее значение для директив upload_max_size , post_max_size и max_file_uploads в php.ini. Директива upload_max_size указывает максимальный размер загрузки файла. В дополнение к размеру загрузки вы можете ограничить размер всего запроса POST директивой post_max_size . max_file_uploads — это новая директива (добавлена в версии 5.2.12), которая ограничивает количество загрузок файлов. Эти три директивы помогают защитить ваш сайт от атак, которые пытаются нарушить его доступность, вызывая интенсивный сетевой трафик или загрузку системы.

Третий шаг, который вы можете предпринять для минимизации риска, — это сканирование загруженных файлов с помощью антивирусного сканера. Это жизненно важно для защиты от распространённых вирусов и вредоносных программ, особенно если ваш сайт осуществляет файлообмен между разными людьми, как пример — вложения в веб-почтовый клиент или (юридический) сайт для обмена файлами. Существует расширение PHP, которое обеспечивает доступ к ClamAV , но, конечно, вы можете вызвать утилиту командной строки ClamAV так же, как я продемонстрировал для файла.

Подводим итоги и делаем выводы

Сегодня вы узнали, как происходит настройка и осуществляется процесс PHP загрузки файлов на сервер с вашего сайта или веб-приложения. Чтобы загрузка была успешной, форма HTML должна быть отправлена через запрос POST с множественным форматированием данных, а PHP должен разрешать передачу, как указано, с помощью директивы file_uploads . После переноса файла, сценарий, ответственный за обработку загрузки, использует информацию, найденную в массиве $_FILES , чтобы переместить файл из временного каталога в нужное место. Я также поделился некоторыми дополнительными мерами предосторожности, которые вы можете предпринять, чтобы защитить себя и своих пользователей от некоторых рисков, связанных с возможностью загрузки файлов. Чтобы гарантировать свою безопасность — проверяйте тип файла, наложите жесткие ограничения на загрузку трафика и применяйте сканирование на наличие вирусов.

Для тех, кто может быть заинтересован, дополнительный код для этой статьи доступен на GitHub . Вы можете просматривать, загружать или клонировать репозиторий и играть с кодом, чтобы лучше понять, как работает процесс загрузки файлов.

Как отправить большой файл или папку по электронной почте

Можно ли с помощью Интернета передавать друг другу файлы большого объема? Легко. Мы покажем способы, которые позволяют отправить большой файл по электронной почте парой кликов мышью; познакомим вас с ресурсами для передачи архивов и документов практически любого размера; расскажем об особенностях облачных хранилищ информации, без которых современному пользователю просто не обойтись. Также порекомендуем список бесплатных сервисов передачи данных, которые пригодятся вам при обмене документацией.

Вопросом, как пересылать архивы, папки, видео и документы большого размера по электронной почте, задаются многие пользователи сети. Ведь почтовые приложения и сайты отказываются пропускать увесистые вложения, ссылаясь на программные ограничения:

  • Mail.ru — 2 ГБ;
  • Gmail — 25 МБ;
  • Яндекс.Почта — 25 МБ.

Между тем отправить папку с файлами (фотографиями, видео, документами большого объема, архивными материалами) не сложнее, чем обычное письмо. В этом помогают облачные сервисы, а именно:

  • Dropbox;
  • Яндекс.Диск;
  • Google Drive;
  • Облако Mail.Ru и другие.

Они работают по принципу сетевого хранилища. Можно просто сохранять в них объемные данные и пересылать в письмах ссылки на эти данные.

Какого размера файлы в можно загружать в облако? В среднем до 2-5-10 Гб, а иногда даже 100 Гб и больше — это зависит от объема доступного вам пространства.

Удобство таких сервисов, как Яндекс.Диск, Google Drive, Облако Mail.Ru заключается в том, что они уже интегрированы в почтовую программу, что позволяет использовать единую учетную запись для отправки почты и габаритных файлов через облако. Последнее находится на выделенных удаленных серверах и работает в режиме 24/7, обеспечивая беспрепятственный доступ к вашей информации при подключении к Интернету.

Преимущества и недостатки использования облачных хранилищ

Технология «облаков» имеет ряд преимуществ над классической системой хранения и передачи документов:

  • Во-первых, вы не привязаны к конкретному устройству и операционной системе (ПК на Windows, ноутбук на MacOS, смартфон на Android и т. д.).
  • Во-вторых, с информацией можно работать откуда угодно, используя любой удобный для вас гаджет с поддержкой Wi-Fi, скоростного мобильного интернета (3G, LTE) или проводного подключения.
  • В-третьих, информацию по необходимости могут добавлять и изменять все желающие, если у них есть ссылка и полномочия редактора.

Последним решающим плюсом выступает безопасность. Любая техника подвержена сбоям операционной системы, внезапным выходам из строя и поломкам аппаратной составляющей (накопители, материнские платы). Если предварительно загрузить данные в «облако», они останутся в полной сохранности для последующего скачивания на новую рабочую машину.

Единственное условие — стабильное интернет-соединение, желательно широкополосное со скоростью от 10 Мбит/с.

С какими проблемами можно столкнуться при передаче больших файлов посредством облачных сервисов:

  • величина файла превышает доступный вам объем хранилища (например, для Google Drive он составляет 15 ГБ, за дополнительное место придется доплачивать);
  • для сохранения файла недостаточно места, так как оно заполнено другими объектами;
  • облачный сервис не поддерживает формат файла (вопрос решается путем архивации, например, с помощью бесплатного приложения 7-Zip);
  • плохое интернет-соединение, которое не позволяет бесперебойно загрузить в облако тяжеловесный объект.

Бесплатные ресурсы передачи файлов большого размера

Помимо классических облачных хранилищ, вроде Dropbox и Google Drive, в Интернете достаточно альтернативных сервисов, специально предназначенных для обмена габаритными архивами и документами.

Filemail

Начнем с простейшего по функционалу сервиса Filemail — с того, какого размера файлы он способен передавать. Максимальный «вес», который может обработать этот ресурс — 50 ГБ.

Сайт Filemail полностью русскоязычный и не требует особых навыков работы. Помимо стандартных функций отправки письма, здесь всего 2 ключевых кнопки:

Данные можно брать с рабочего стола или другого места на ПК. Загружаете информацию в систему, дожидаетесь окончания загрузки и получаете сгенерированную ссылку, которую просто отправьте адресату.

Программа доступна для Windows, Android, MacOS и iOS.

Send Anywhere

Еще один популярный бесплатный ресурс Send Anywhere, позволяющий пересылать файлы до 50 ГБ совершенно бесплатно. Он совместим со всеми современными операционными системами, включая Linux.

Если вы не хотите регистрироваться, то принцип загрузки файлов следующий:

  • перетяните информацию в раздел «Send» и нажмите соответствующую кнопку по окончанию процесса;
  • отправьте сгенерированную ссылку адресату.

Конечный получатель должен зайти на этот же ресурс и вставить ключ (Input Key) в раздел «Receive».

Для незарегистрированных пользователей ссылка хранится в течение 10 минут, после авторизации — 7 дней. Бонусом появляется возможность создания прямых ссылок для отправки по email.

JustBeamlt

JustBeamlt — простой ресурс для прямой передачи файлов. Здесь не приходится ни ждать загрузки документа, ни регистрироваться. От вас требуется лишь нажать на «парашют» и выбрать файлы на ПК, после чего система автоматически выдаст ссылку для их скачивания после нажатия «Create Link». Ее отправьте получателю.

Чтобы передача осуществилась, не закрывайте страницу сайта и не отключайте интернет-соединение. Процедура скачивания будет отображаться в режиме реального времени (визуальная полоса прогресса).

Также стоит уточнить, что ссылка одноразовая и работает для одного человека.

DropMeFiles

DropMeFiles — один из наиболее популярных сайтов с простейшим алгоритмом передачи. Для пересылки файла достаточно нажать на круглый логотип ресурса (выделен большой серой стрелкой), выбрать файл с рабочего стола или другого места на компьютере. Далее остается дождаться завершения процесса (статус — загружено).

Внизу появится автоматически сгенерированная ссылка, действующая в течение 7 или 14 дней (выберите вариант из предложенных ниже).

В качестве сопроводительных данных можете указать email отправителя и получателя, а также установить пароль на документ.

Сегодня по электронной почте можно передать файл практически любого объема. Достаточно придерживаться правил ресурса, с помощью которого осуществляется процесс обмена.

Настоятельно рекомендуем не принимать подозрительные документы от непроверенных пользователей сети, чтобы защитить свои данных от злоумышленников.

Что учитывать при загрузке файлов на сервер

Если Вы программируете на php, то, наверняка, хотя бы раз в жизни Вам приходилось сталкиваться с организацией загрузки файлов на сервер.

Например, создавать простенький блог, в котором автор может прикреплять к своим статьям изображения. А может быть, огромную социальную сеть, где пользователи будут добавлять аватарки к своим профилям. Или же простейшую галерею фотографий. Объединяет все эти примеры одно – в них будет происходить загрузка пользовательского файла на сервер.

Для того чтобы напомнить Вам, как файл загружается на сервер, рассмотрим простенький скрипт. Нам потребуется html –формочка и её php-обработчик.

В ней нет никаких примечательных моментов за исключением указания enctype = «multipart/form-data», которое необходимо, если с формы мы осуществляем загрузку файла.

Теперь напишем самый простой php-обработчик:

Объединим это всё в один файл:

А теперь давайте попробуем поискать недостатки у данного скрипта.

Во-первых, пользователь может просто не выбрать файл на форме. В итоге функция copy() попытается скопировать из временной директории файл, которого нет, что приведёт к ошибке.

Во-вторых, пользователь может выбрать фотографию, которая весит, допустим, мегабайт 20 (а если он злоумышленник или шутник – видеофайл весом в 20 Гб). Стоит задуматься, нужны ли нам файлы такого размера у себя на сайте!?

Обработаем в скрипте обе эти ситуации (изменения показываются в обработчике):

Ну что ж, кажется, всё! Осталось лишь где-нибудь добавить проверку на расширение загружаемого файла, и всё будет готово?

Нет! Сейчас нам необходимо вспомнить, из каких частей состоит закачка файла на сервер:

  1. файл с компьютера пользователя автоматически загружается на сервер в директорию, где хранятся все временные файлы. На денвере, например, это папка tmp;
  2. мы выполняем все проверки и перемещаем файл из временного хранилища в реальное с помощью функции copy().

Т.е. смотрите, что происходит: файл сразу же оказывается на сервере ещё до того, как исполнится первая строчка нашего php-кода. Где же тогда ставить защиту от загрузки злоумышленниками и шутниками файлов огромных размеров?

Может быть, с помощью скрытого поля на html-форме? Например:

Как бы бредово не выглядела данная запись, но она реально работает. С помощью дополнительного скрытого поля ввода:

Как бы бредово не выглядела данная запись, но она реально работает. С помощью дополнительного скрытого поля ввода:мы на стороне клиента ставим ограничение на размер передаваемого файла. К сожалению, данная запись спасает только от обычных пользователей. Шутники или злоумышленники легко смогут подделать отправку формы.

Поэтому, единственным нормальным способом ограничивать размер файлов, загружаемых на сервер, являются настройки в конфигурационном файле php на сервере. Рассмотрим необходимые настройки на примере файла php.ini на денвере.

Находится он по адресу /usr/local/php5/php.ini. Советую Вам сейчас его открыть (если Вы конечно используете денвер).

Итак, здесь нас интересует 552-ая строчка:

Как мы видим, по умолчанию в денвере файлы больше 2Мб загружаться не будут. В реальных проектах это может быть много, а может быть и мало. Советую данную настройку менять исходя из конкретных решаемых задач.

Всё, теперь мы можем грамотно управлять размером загружаемых на сервер файлов. Осталось только разобраться с их количеством. Согласитесь, что если пользователь подделает отправку формы и наплодит на ней 1000 полей ввода, в которые поместит по двухмегабайтному файлу, результат для нас также будет очень печальным.

Установить максимальное количество загружаемых на сервер файлов мы можем с помощью специальной функции ini_set(). В самое начало нашего скрипта допишем:

Ура! Теперь за один раз никто не сможет загрузить к нам на сервер более 5 файлов.

Подводя итоги, хочу ещё раз перечислить все пункты, про которые Вы должны помнить, если организуете загрузку файлов на сервер:

  1. у html формы обязательно указывайте enctype = «multipart/form-data»
  2. делайте проверку, не является ли имя файла пустым (т.е. выбрал ли вообще пользователь файл)
  3. делайте проверку на размер и тип загружаемого файла в скрипте
  4. устанавливайте максимальный размер загружаемого файла в конфигурационном файле на сервере
  5. с помощью функции ini_set() устанавливайте максимальное количество загружаемых файлов

3 простых способа отправить большой файл

Электронная почта является одним из самых массовых средств коммуникации. Им пользуются и серьезные организации для обмена документами, и простые пользователи для решения своих житейский проблем. Казалось бы, по электронной почте можно послать любой файл с любой информацией. А вот и нет! Несмотря на то, что многие почтовые сервера предлагают пользователям многогигабайтные хранилища для писем, они накладывают лимит по размеру на одно отдельное письмо. Обычно это в районе 10-20 мегабайт. И как, спросите вы, поступить с большим файлом, который не вписывается в этот формат? А очень просто.

1. Передаем файлы через Mozilla Send

Компания Mozilla представила новый бесплатный сервис для обмена большими файлами под названием Mozilla Send. С его помощью можно передать любой большой файл общим размером до 1 Гб.

Все что нужно сделать — зайти на сайт сервиса, нажать на кнопку «Select a file on your computer» и выбрать файл на диске.

Он будет загружен на сервер, а по завершении вы увидите ссылку, которую надо передать получателю.

Помимо того, что файл будет автоматически удален через 24 часа или по завершению загрузки по ссылки, получить доступ к нему через сервер Mozilla Send так же не получится, так как все передаваевые таким образом файлы шифруются.

2. Используем облачное хранилище

2.1 Онлайн-клиент электронной почты от Google или Яндекс

Это, пожалуй, самый простой способ из рассматриваемых сегодня. Если вы пользуетесь почтой от Google или Яндекс, то просто зайдите в свою почту и создайте новой письмо.

В само письмо вложить файл больше 25 Мб не получится — ограничение почтового сервиса.

Это не страшно — сервис сам предложит загрузить файл в облачное хранилище и автоматически поместит ссылку на него в письмо. Так получатель сможет загрузить файл на свой компьютер с вашего облачного хранилища.

Если у получателя имеется такое же хранилище, какое было использовано отправителем, то он сможет загрузить файл в него — это займет считанные секунды. После его программа синхронизации автоматически загрузит файл на локальный компьютер.

2.2 Передаем ссылку на файл в облаке

А что делать, если у вас нет аккаунтов на этих двух почтовых сервисах? Или вы хотите использовать для отправки письма локальный клиент электронной почты или другую программу обмена данными? Алгоритм похож и весьма прост. Необходимо загрузить файл в любое доступное облачное хранилище, получить публичную ссылку на него, а потом передать ссылку получателю любым удобным способом (хоть в письме, хоть через ICQ или Skype). Вот как это реализовано, например, в SkyDrive.

Загружаем файл в хранилище и нажимаем на нем правую клавишу мыши. В меню выбираем опцию «Поделиться».

Теперь просто посылаем по электронной почте ссылку на файл средствами самого SkyDrive. Разумеется, вы также можете отослать ссылку любым другим почтовым клиентом, тем же Outlook или Thunderbird.

Получателю файла даже необязательно входить в службу SkyDrive! Те же функции вам предоставит любое облачное хранилище. Например, популярный DropBox или Яндекс.Диск.

3. Разделение файла на части

Чтобы отослать файл по обычной электронной почте, не прибегая к использованию онлайн-сервисами, придется разделить его на части с помощью архиватора. Для примера, воспользуемся программой 7-Zip — пожалуй самым лучшим на сегодня архиватором из числа бесплатных.

После установки программы в контекстном меню, появляющемся при нажатии правой клавиши мыши на файле, добавляются команды для работы с архиватором. Есть там и команда «Сжать и отправить по email…».

Используйте специальную опцию «Разбить на тома размером (в байтах)». Укажите размер частей в 10 Мб, как на рисунке. Если ограничение письма еще меньше, то разбейте файл на части поменьше, например, 1.4 Мб (как флопи-дискета) и шлите их разными письмами по два или три — как лимит позволит.

Если лимит письма на сервере, на котором у вашего адресата есть учетная запись, составляет 10 Мб, то разбивать файл вы должны на части не более 8-9 Мб. Причина — при формировании письмо с вложением также добавляется различная техническая информация, которая также увеличивает размер сообщения. Если выбрать файл, размер которого будет равен лимиту, то общий размер письма будет превышать максимально допустимый и сервер его принять не сможет. Именно для этого следует снизить максимальный размер тона примерно на 10%, чтобы создать запас для технических данных.

При разбиении файла 7-Zip учитывайте, что не все форматы архива позволяют разбивать файл на части. Мне, например, потребовалось выбрать формат «tar». Только тогда разбиение файла на части состоялось без ошибок. Ну и разумеется, что ваш адресат должен иметь программу 7-Zip, чтобы обратно собрать полученный файл воедино!

Итак, самый простой и удобный способ отправки большого файла — воспользоваться сервисом Mozilla Send. Ссылку из него можно отправить по электронной почте. Так же можно воспользоваться облачным хранилищем сервиса Яндекс или Google. Чуть сложнее — загрузить файл в облачное хранилище: DropBox, SkyDrive, Google Drive или Яндекс.Диск и отослать адресату ссылку на него.

Способ с разбиением файла на части сопряжен с небольшими проблемами, которые возникнут с его сборкой у принимающей стороны. Зато он универсален и не привязывает вас к онлайн-сервисам.

Также стоит обратить внимание на лимиты облачных сервисов. Многие также используют лимиты на загружаемый файл. Некоторые сервисы запрещают загружать файлы более 3 или 10 гигабайт, а другие таких ограничений не вводят. Потому при использовании облачного хранилища необходимо узнать его лимиты и удостовериться в том, что передаваемый файл не превышает их.

Илон Маск рекомендует:  Как добавить две фоновые картинки к одному элементу
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL