Автор Тема: Отправка опредиленных типов фалов  (Прочитано 3327 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Abram

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 116
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть поле file и кнопка Submit(Ну и фраза получилась:) ) Как сделать чтобы отправлять только файлы gif, jpg и bmp?

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Отправка опредиленных типов фалов
« Ответ #1 : 20 Ноября 2003, 19:03:16 »
Никак.
Но можно прочитать про аттрибут accept элемента form

accept = content-type-list [CI]
This attribute specifies a comma-separated list of content types that a server processing this form will handle correctly. User agents may use this information to filter out non-conforming files when prompting a user to select files to be sent to the server (cf. the INPUT element when type="file").

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Отправка опредиленных типов фалов
« Ответ #2 : 20 Ноября 2003, 19:10:16 »
К элементу формы типа file есть r/o доступ. Прежде чем "субмитить" форму, проверь все ли тебя устраивает в названии файла. Что же тут сложного?
Если важно не пропускать некие файлы, то на стороне сервера тоже неплохо проверить.
0 OK, 0:1

Оффлайн Nickii

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.srccode.spb.ru
Отправка опредиленных типов фалов
« Ответ #3 : 20 Ноября 2003, 20:54:15 »
Цитировать
ondr:
то на стороне сервера тоже неплохо проверить

Проверить в обязательном порядке, а то такого можно наворотить...

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
Отправка опредиленных типов фалов
« Ответ #4 : 18 Декабря 2003, 00:29:39 »
насколько я не помню это уже обсуждалось...
и про корявые регулярные варажения писалось, и про то что на сервере оно стройнее будет ...
но все равно, вот тебе фрагмент  моего мега кода проверяющего всякую неправльную фигню (надеюсь понятно что check должен быть к чему-то привязан, типа кнопки)

<script>
function 
check(){
var 
prname = /[\\d]/; //----хочу тока цифры
var df = /[\\D]/g//--- помоему, хочу только нецифры
var fils = /\\htm$/; //-- хочу только хтмл документы
var filp = /\\jpg$/; //--- хочу только файлы на жпг оканчивающиеся
var errs = new Array(); //массив для сбора ошибок
if (teach.name.value=="" || prname.test(teach.name.value))
	

	
{
errs[0]="ФИО";
// проверил имя, если в нем цифры и пусто ето ошибка
	
	
}
if (teach.grade.value=="")
	
{
errs[1]="СТЕПЕНЬ";
//если пусто ето ошибка
	
	
}
if (teach.zvan.value=="")
	
{
errs[2]="ЗВАНИЕ";
//тоже самое
	
	
}
if (teach.spec.value=="")
	
{
errs[3]="СПЕЦИАЛЬНОСТЬ";
//тоже самое
	
	
}
if (teach.inst.value=="")
	
{
errs[4]="ЧТО ЗАКОНЧИЛ";
//alert(errs[4]);
	
	
}
if (
df.test(teach.d1.value) || teach.d1.value >1974 || teach.d1.value<1930)
{
errs[5]="ГОД";
//проверил на цифренность и на значение
}
if (
teach.legend.value!=""){
if (!
fils.test(teach.legend.value))
{
errs[6]="Неправильтый тип файла в резюме, нужно htm";
//
	
}
}
if (
teach.pic.value!="")
{
if(!
filp.test(teach.pic.value))
	
{
errs[7]="Неправильтый тип файла в резюме, нужно jpg";
}
//alert(errs[7]);
	
}
if (
errs.length!=0){
// если массив не пустой форма не отправится и  скрипт покажет где вилы, если все "чисто" отправляем
errs=errs.join("\\n");
alert(errs);
}
else {
teach.submit();
}
}
</script>

но это не 100% защита от фигни. А от злого умысла вообще не защита.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28