Содержание
Действие AttachFile позволяет прикрепить к странице несколько файлов.
Запрещение действия AttachFile
Поскольку загрузка файлов может быть использована для атак вида «отказ от обслуживания» (Denial of Service, DoS), администратор вики может отключить действие AttachFile. См. настройку МойнМойн для более подробной информации.
Создание прикреплённых файлов
Для прикрепления файлов можно либо добавить ссылку на него на любой странице (см. ниже, как это сделать), или щелкнуть по ссылке AttachFile в нижней части страницы. В первом случае после сохранения страницы появится ссылка «Прикрепить новый файл «имя файла»». Если перейти по ней, то будет показана страница загрузки файла, аналогичная той, которая показывается при переходе по ссылке «ВложитьФайл».
Форма загрузки файла состоит из двух полей. Дополнительно к полю ввода имени файла также присутствует необязательное поле «Переименовать в», используемое для того, чтобы дать загружаемому файлу имя, отличающееся от его локального имени.
Уже прикреплённые файлы могут быть просмотрены, скачаны или удалены, в зависимости от конфигурации вики и прав доступа пользователя. Например, прикреплённый файл не может быть удалён, если у пользователя нет привилегии «delete» на той странице, где он находится.
Любая загрузка или удаление прикреплённых файлов отражаются в списке ПоследниеИзменения и, соответственно, информация о них доступна другим пользователям. Но, в отличие от изменения содержания страницы, история версий для прикреплённых файлов не сохраняется, поэтому рекомендуется сохранять копии загружаемых файлов локально, чтобы можно было восстановить их в случае злонамеренных действий.
Список и информация о прикреплённых файлах
Существуют две макрокоманды, показывающие информацию о прикреплённых файлах на странице. Макрокоманда <<AttachInfo>> выдает краткую информацию о прикреплённых к странице файлах:
К этой странице прикреплены файлы (всего 8).
Макрокоманда <<AttachList>> выводит список файлов, прикрепленных к странице:
У неё есть два необязательных параметра:
<<AttachList(имя_страницы)>> выводит список прикреплённых файлов страницы с указанным именем.
<<AttachList(имя_страницы,тип_mime)>> выводит список прикреплённых файлов страницы с указанным именем, но только имеющих заданный тип MINE.
<<AttachList(,тип_mime)>> выводит список прикреплённых файлов текущей страницы, имеющих заданный тип MIME.
Ссылки на прикреплённые файлы
Для вставки на страницу ссылки на прикреплённый файл достаточно использовать следующую конструкцию [[attachment:файл с пробелами в имени.txt]].
Не рекомендуется использовать URL ссылки «получить», которая отображается на странице просмотра прикреплённых файлов, так как она может меняться и легко может перестать работать после изменения конфигурации вики. Для ссылки на файлы, прикрепленные к другим страницам, можно использовать [[attachment:ИмяСтраницы/имя_файла.ext]].
Включение прикреплённых файлов в тело страницы
Если необходимо включить прикреплённый файл в тело страницы, то для этого можно использовать конструкцию {{attachment:image.png}}. При использовании включения файлы отображаются в зависимости от имеющейся поддержки соответствующего MIME-типа в МойнМойн (например, текстовые форматы могут преобразовываться в html (для форматов wiki и rst, например) или отображаться с подсветкой синтаксиса).
Правка рисунков
См. также ПомощьПоРисункам.
Включение вида {{drawing:picturename.tdraw}} или {{drawing:picturename.tdraw}} позволяет интерактивно редактировать векторные рисунки с помощью встроенного Java-апплета.
Более подробную информацию об использовании апплета рисования можно получить на странице Plugins/TWikiDrawPlugin.
Установка пакетов
Разархивирование файлов
Для того, чтобы получить доступ к возможности разархивирования, необходимо иметь следующие права на страницу:
- чтение
- запись
- удаление
Например
#acl UserName:read,write,delete All:read
МойнМойн имеет поддержку ограничений на распаковку для предотвращения злоупотреблений данной возможностью. Параметр конфигурации unzip_attachments_space регулирует какой объём могут занимать содержащиеся в архиве файлы после распаковки. Если к странице уже прикреплены файлы с именем, совпадающим с именем файлов в архиве, размер файлов с конфликтующим именем будет вычтен из этого числа (так как они не будут распакованы). Размер одного файла, распакованного из архива, может быть ограничен с помощью параметра unzip_single_file_size конфигурации. Параметр unzip_attachments_count позволяет ограничить количество файлов, которые могут быть извлечены из архива.
Правила распаковки установлены аналогично правилам закачки одного файла. Не разрешается перезаписывать существующий файл извлекаемым из архива.
При распаковке zip-файла извлекаются только файлы первого уровня вложенности. Файлы в подкаталогах игнорируются.
Правильный zip-архив может быть создан следующим образом:
zip example.zip *.jpg
Закачка zip-файла
После того, как Вы выгрузили zip-файл, Вы можете увидеть ссылку «[распаковать]».
[удалить | переместить | получить | показать | распаковать] (2009-11-04 12:08:06, 10.3 KB) [[attachment:пример.zip]]
Нет прав на распаковку
Если прав недостаточно, то действие в списке показано не будет: [получить | показать] (2009-11-04 12:08:06, 10.3 KB) [[attachment:пример.zip]]
Недостаточно свободного места
Если в результате распаковки суммарный размер прикреплённых файлов превысит разрешённый лимит, будет показано следующее предупреждение:
Суммарно разрешённый размер прикреплённых файлов регулируется значением параметра unzip_attachments_space конфигурации.
Успешно распаковано
- [удалить | переместить | получить | показать | распаковать] (04.12.2009 12:39:43, 120.9 KB) [[attachment:snap-14_18_46.png]]
- [удалить | переместить | получить | показать | распаковать] (04.12.2009 12:39:43, 68.3 KB) [[attachment:snap-14_56_49.png]]
- [удалить | переместить | получить | показать | распаковать] (04.12.2009 12:39:43, 260.1 KB) [[attachment:snap-15_24_25.png]]
- [удалить | переместить | получить | показать | распаковать] (04.12.2009 12:39:43, 290.3 KB) [[attachment:snap-15_24_45.png]]
- [удалить | переместить | получить | показать | распаковать] (04.12.2009 12:39:43, 295.5 KB) [[attachment:snap-15_25_14.png]]
Извлекаемые файлы слишком велики
Если файл в архиве превышает размер, определенный параметром unzip_single_file_size, то он не будет извлечен.
Перемещение файла
Ссылка действия «[переместить]» будет отображаться для каждого вложенного файла, если пользователю дана привилегия «delete» для страницы вики, к которой прикреплен этот файл. При выборе данного действия будет показан следующий диалог:
Можно либо просто переименовать файл (оставив его прикрепленным к текущей странице) или переместить файл на другую страницу (при необходимости также осменив его имя). При перемещении необходимо также наличие привилегии «write» для целевой страницы (кроме того, страница, на которую перемещается файл, должна уже существовать).