Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загрузка валидных форматов картинок (https://javascript.ru/forum/misc/18053-zagruzka-validnykh-formatov-kartinok.html)

alex_89 15.06.2011 13:35

Загрузка валидных форматов картинок
 
Есть форма с загрузкой изображения, сделанная с помощью <input text="file">. необходимо сделать проверку на JS: загрузку только форматов картинок с определенным размером.Где можно глянуть примеры?

Skipp 15.06.2011 13:40

нигде, с помощью js вы это не сделаете.
Это делается обычно на стороне сервера.

nikita.mmf 15.06.2011 16:46

размер нельзя определить js'ом, а проверка на тип осуществяется с помощью регекспов, ну например
/\.(?:png|gif|jpe?g)$/

alex_89 17.06.2011 18:43

Я использовал ваше регулярное выражение, но у меня проверка не проходит, помогите в чем ошибка.
хтмл:
<FORM action="" method="post"  enctype="multipart/form-data" onsubmit="return sendform()" name="registr_form">
......
<table width="100%" border="0" cellpadding="0" cellspacing="4">
  <tbody>
	    <tr>
		   <td>
		     <input type="file" id="filename" name="filename" size="28">
			</td>
	    </tr>
		<tr>
		   <td>
		   <span class="text_pswd"> 
                 Аватар-ваша фотография,для отображения на сайте. 			   
               </span> 
		   </td>
		</tr>
  </tbody>
</table>
<tr>
 <span id="mesform"></span>
......
	      <td class="row_grey2" align="center">
		      <input name="reg" value="Зарегистрировать" class="submit_12" type="submit">
          </td>

      </tr>
.......
</FORM>


SCRIPT:
function sendform() {
.....
//Проверка формата картинок
   var fso =  new ActiveXObject("Scripting.FileSystemObject");
	var fileId = document.getElementById("filename");
    var fileStr = String(fileId.value);
    var thefile = fso.getFile(fileStr);
  
   var reg = /\.(?:png|gif|jpe?g)$/;
    if (reg.test(thefile)) {
    mesform.innerHTML ='Вы загрузили не корректный формат картинки. ';
    document.getElementById("filename").focus();
    return false;
         }
 
	 return true;
	 }

melky 18.06.2011 14:09

зря, это мартышкин труд

я поставлю у мебя размер в 1 терабайт и закачаю вам тёлку с сиськами.

лучше проверяйте это на php, а форму с файлом отправляйте асинхронно.

alex_89 19.06.2011 20:59

Ясно, а как быть с проверкой форматов картинок? В чем ошибка моего скрипта, он не пашет ни как!

melky 19.06.2011 21:36

наткнулся на это :

попробуйье
Цитата:


type=file

Это поле предназначается для вставки в отправляемые данные содержимого файла, имя которого пользователь набирает в текстовом поле. Современные, а тем более графические браузеры отображают рядом с текстовым полем кнопку, при нажатии на которую можно выбрать файл в интерактивном режиме. Для управления шириной и максимальной длинной текста используются атрибуты size и maxlength, также как в type=text. Некоторые браузеры поддерживают ограничение на передачу файлов определенных типов. Список разрешенных типов MIME указывается с помощью атрибута accept.

<input type=file name=mpeg size=40 maxlength=300 accept="video/mpeg">

nikita.mmf 19.06.2011 23:04

Я не очень понимаю зачем AciveX...
А вообще проверка должна быть серверной.
А в регурярке у меня действительно ошибка, добавьте модификатор i


Часовой пояс GMT +3, время: 06:56.