Защита медиа изображения в [закрытом] веб-приложении

Почему вы использовали delims=? Это удалит разделитель и приведет целую строку к %%a.
Попробуйте это:

@ECHO OFF
SETLOCAL
SET "sourcedir=D:\Sourcedir"
PUSHD %sourcedir%
FOR /f "tokens=1,2,3" %%a IN (
 'dir /b /a-d "*.pdf"'
 ) DO (  
 ECHO MD %%~nc
 ECHO MOVE "%%a %%b %%c" .\%%~nc\
)
POPD

GOTO :EOF

Если не установлено delims=, будет использоваться пробел. Таким образом, %%c будет 10.pdf, ~n - извлечь его n часть.

Это основано на вашем вопросе, который вы можете объединить %%a %%b %%c вместе с spaces, тогда все просто.
Если ваши имена файлов более сложные, то лучше использовать внутренний цикл for.
- Какой другой вопрос уже дал отличное решение.

6
задан Mats 17 December 2008 в 12:38
поделиться

7 ответов

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

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

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

1
ответ дан 18 December 2019 в 05:08
поделиться

Как я говорю своему родительскому элементу (который не понимает, как Интернет работает), если Вы видите его на веб-странице, можно сохранить его, это - просто вопрос того, как сделать это.

0
ответ дан 18 December 2019 в 05:08
поделиться

Я служил бы низкой-res версии изображения к браузеру и hava клиентская обрезка ui, который затем передаст запрос обратно серверу, который обрежет выбор и передаст его обратно в высоком разрешении.

0
ответ дан 18 December 2019 в 05:08
поделиться

Существует ajax версия Глубокого Масштабирования, которое Вы могли бы любить - Посмотрите Дракона:

http://livelabs.com/seadragon-ajax/gallery/

Пользователю дарят низкую-res версию изображения; они могут затем увеличить масштаб любой части его, что им нравится.

0
ответ дан 18 December 2019 в 05:08
поделиться

Во-первых я предварительно представил бы версии, на которых делают водяные знаки, всех полных изображений, сохраняющих их в формате сжатого файла, а также предварительно представленных низких res версиях.

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

При подтверждении у меня был бы второй выделенный сервер обработки изображений, который обрезал изображение, на котором не делают водяные знаки, передал кадрированное изображение веб-серверу, который отправил его клиенту.

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

0
ответ дан 18 December 2019 в 05:08
поделиться

не должен быть сделан доступным для скачивания всегда.

противоречит:

Клиент должен видеть уменьшенную масштаб версию изображения и смочь выбрать область его, чтобы быть просмотренным в режиме полного масштаба (100%).

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

ни одно из этого не помогает Вам достигнуть цели все же.

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

если необходимо сохранить ресурсы, Вы могли бы сделать, чтобы пользователи загрузили с предопределенной сетки, таким образом, в первый раз сетка coord 14:11 выбрана, image_1411_crop.jpg записан в файловую систему, и в следующий раз, когда coord выбран, файл уже существует.

править: прочитайте некоторые свои комментарии к другим ответам...

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

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

-1
ответ дан 18 December 2019 в 05:08
поделиться

Я использовал бы S3 для устройства хранения данных. Создайте два блока (защищенная общественность), выделите URL к изображениям защищенного блока, после того как Вы разрешили пользователя загружать их. URL S3 могут быть сделаны успокоительными с датой истечения срока.

С изображениями 15 МБ Вы, вероятно, поймете, что необходимо предварительно генерировать, масштабировал/обрезал версию заранее.

Я использовал бы какой-то водяной знак на всех кроме исходного файла. (как карты Google)

[Редактирование: Добавленное Глубокое Масштабирование для изменения масштаба]

Проверьте Silverlight Глубокое Масштабирование для управления обрезкой и изменения масштаба (Демонстрации). У них даже есть утилита для генерации всех кадрированных изображений.

-2
ответ дан 18 December 2019 в 05:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: