powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ограничить тип загружаемых файлов
20 сообщений из 20, страница 1 из 1
ограничить тип загружаемых файлов
    #38808718
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал ограничить тип загружаемых файлов так
Код: html
1.
<input type="file" accept="image/jpeg,image/png,image/bmp" name="fileName" value="" />


но все равно принимает любые файлы, как это работает?
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38808737
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

Атрибут устанавливает только пользовательский фильтр для файлов в диалоге выбора файла. Ничто не мешает в диалоге ввести свою маску для файлов и подсунуть/передать что-то свое.
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38808739
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Браузер какой?
Если ограничить до image/jpeg, эффект сохраняется?
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38808745
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
браузер firefox
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38808747
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ограничил до image/jpeg - эффекта нет
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38808750
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пробую такой скрипт
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<script type="text/javascript">
	function Validatebodypanelbumper(theForm) {
		var extension = theForm.FileUpload.value
				.substr(theForm.FileUpload1.value.lastIndexOf('.'));
		if ((extension.toLowerCase() != ".gif")
				&& (extension.toLowerCase() != ".jpg") && (extension != "")) {
			alert("The \"FileUpload\" field contains an unapproved filename.");
			theForm.FileUpload1.focus();
			return false;
		}
		return true;
	}
</script>


в теге form
Код: html
1.
onsubmit="return Validatebodypanelbumper(this);"



и так не работает
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38808866
Да ну
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

C именами порядок наведите, и будет вам счастье:

1) fileName
2) FileUpload
3) FileUpload1
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38808906
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да ну,

точно, спасибо!
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38808970
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

Позадаю наводящие вопросы...

Файл без расширения скрипт пропустит? Если я сменю у какого-то бинарника разширение на .JPG - что дальше? И у JPEG`ов расширения как минимум : JPG,JPEG,JP2,JPC - их все надо проверять.
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809043
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно проверить mime-тип файла с помощью FileReader'a: для картинок он возвращает соответствующий image/xxxx.
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809045
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterЕсли я сменю у какого-то бинарника разширение на .JPG - что дальше?можно загрузить файл В FileReader как data:[<mediatype>][;base64],<data>
если в <mediatype> окажется тип отличный от image/xxx, то это не картинка.

правда это только предположение, что FileReader анализирует содержимое, может он тоже на расширение ориентируется.
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809105
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

если вы про аттрибут accept, то я он похоже не работает, т.к. в окне выбора доступны к выбору все типы файлов,
а скрипт- это скорее защита от дурака, потом на сервере файл нужно колбасить, т.к. js можно и отключить в браузере, а на сервере железно
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809134
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня и в Хроме и в FF работает, единственное в FF если перечислить mime через запятую, то по умолчанию выбраны все файлы (*), но ниже идут те, которые я указал в атрибуте accept, а если image/*, то сразу фильтруется по изображениям.
Здесь речь не о безопасности, а просто об удобстве, окно выбора файла открываешь и отфильтрованы только нужные мне типы. Главная проверка естественно делается на сервере.
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809358
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
accept="image/*" фильтрует
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809393
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что не так с этим скриптом? в ff не работает

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<script type="text/javascript">
	function checkSize(max_img_size) {
		var input = document.getElementById("FileUpload");
		// check for browser support (may need to be modified)
		if (input.files && input.files.length == 1) {
			if (input.files[0].size > max_img_size) {
				alert("The file must be less than "
						+ (max_img_size / 1024 / 1024) + "MB");
				return false;
			}
		}

		return true;
	}
</script>



Код: html
1.
2.
3.
4.
<form id="theForm" method=post action="FileUploadServlet" 
		enctype="multipart/form-data" onsubmit="return checkSize(2097152);">

<input id="imagefile" type="file" accept="image/*" name="FileUpload" value="" />
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809395
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
опять имена перепутал -все работает )))
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809606
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyDarkMasterЕсли я сменю у какого-то бинарника разширение на .JPG - что дальше?можно загрузить файл В FileReader как data:[<mediatype>][;base64],<data>
если в <mediatype> окажется тип отличный от image/xxx, то это не картинка.

правда это только предположение, что FileReader анализирует содержимое, может он тоже на расширение ориентируется.FileReader анализирует только расширение.

проверить что выбрана картинка (а не переименованный в картинку хрен) можно так - http://jsfiddle.net/q4o44gm2/
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809679
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный Меч,

полезно
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809703
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Яростный Меч,

полезноно не совсем кроссбраузерно - IE7-9 и старая опера в пролете.
Можно и через FileReader (для поддержки оперы 12), но вариант "URL.createObjectURL" более экономичен.
...
Рейтинг: 0 / 0
ограничить тип загружаемых файлов
    #38809728
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный Мечrema174Яростный Меч,

полезноно не совсем кроссбраузерно - IE7-9 и старая опера в пролете.
Можно и через FileReader (для поддержки оперы 12), но вариант "URL.createObjectURL" более экономичен.
кто пользуется IE7-9 и старой оперой сам себе буратино
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ограничить тип загружаемых файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]