Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.07.2014, 23:56
Новичок на форуме
Отправить личное сообщение для artiom-75 Посмотреть профиль Найти все сообщения от artiom-75
 
Регистрация: 17.07.2014
Сообщений: 6

Ограничение загружаемого файла
Уважаемые знатоки есть код загрузки файла.
<script>
function readURL(input) {  if(!/(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$/i.test(input.value)) {
	alert('Error');
	document.getElementById('image_p').value='';return false;
	}
if (input.files && input.files[0]) {
var reader = new FileReader();

reader.onload = function (e) {
$('#img_prev')
.attr('src', e.target.result)
.width(150);
};

reader.readAsDataURL(input.files[0]);
}
}
</script>
<input type="file" id="image_p" name="attachment[]" onchange="readURL(this);" />
<img id="img_prev" class="image_block" src="image.png" alt="" />

Что нужно добавить в коде, чтобы было ограничение загружаемого файла до 0.5 мегабайт и размеры картинки: ширина до 1024-пиксель, высота до 768-пиксель?
Ответить с цитированием
  #2 (permalink)  
Старый 22.07.2014, 05:52
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 458

artiom-75,
<input id="img_file" type="file" onchange="readURL(this)"><br>
<img id="img_prev" width="150" src="" alt="Preview">

<script>
function readURL(input) {
	var type   = ['image/bmp','image/gif','image/jpg','image/jpeg','image/png'];
	var width  = 1024;
	var height = 768;
	var size   = 524288; // bytes
	var file   = input.files[0];
	var prev   = document.getElementById('img_prev');
	function errMsg(x) {
		alert('Error ' + x);
		prev.src = '';
		input.value = '';
	}
	if (type.indexOf(file.type) == -1) {
		errMsg('Type');
		return false;
	} else if (file.size > size) {
		errMsg('Size');
		return false;
	} else {
		var reader = new FileReader();
		reader.readAsDataURL(file);
		reader.onload = function(e) {
			var img = new Image();
			img.src = e.target.result;
			img.onload = function() {
				if (this.width <= width && this.height <= height) {
					prev.src = this.src;
				} else {
					errMsg('Width/Height');
				}
			};
		};
	}
}
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 22.07.2014, 08:46
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Ограничение в js не поможет. Если кому-то приспичит, он легко сможет его обойти, так как javascript исполняется на стороне клиента. Надо делать проверки на стороне сервера, в php.
Ответить с цитированием
  #4 (permalink)  
Старый 22.07.2014, 14:49
Новичок на форуме
Отправить личное сообщение для artiom-75 Посмотреть профиль Найти все сообщения от artiom-75
 
Регистрация: 17.07.2014
Сообщений: 6

Спасибо огромное Rise!
Erolast вы правы. на я не знаю как это можно организовать на стороне сервера.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение загружаемого файла artiom-75 Firefox/Mozilla 0 21.07.2014 17:21
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
Выбор нужного элемента из загружаемого файла на ajax+jquery/ 0931454574 AJAX и COMET 4 01.04.2011 14:37
XHR: узнать размер загружаемого файла на клиенте lurii AJAX и COMET 9 20.09.2010 09:14
Высота фрейма и высота загружаемого файла findman Events/DOM/Window 5 15.09.2008 03:33