PDA

View Full Version : سوال: نحوه محدود کردن Size عکس در حال آپلود



jaykob
چهارشنبه 04 آذر 1394, 18:08 عصر
سلام


چطور می توان در زمان آپلود یک عکس سایز عکس رو بدست آورد و یک سایز استاندارد رو در نظر گرفت که کاربر به طور مثال فقط بتونه عکسی با سایز ۱۰۰*۱۰۰ رو آپلود کنه ؟


با تشکر

navidsal
پنج شنبه 05 آذر 1394, 10:25 صبح
میتونی از java script استفاده کنی که هم حجم عکستو بده و هم اندازشو و روش فیلتر بذاری که اگه اندازه عکست از یه حدی بزرگتره بهش الارم بده
و همچنین میتونی تو کد کنترلر هم محدودش کنی هم روی سایز و هم روی حجم




<div class="form-group">
@Html.LabelFor(model => model.Imag, htmlAttributes: new {@class = "control-label col-md-2""})
<div class="col-md-2">
<input type="file" name="file" id="file" required="required"/>

</div>

<div class="col-md-3" id="uploadPreview" >

</div>
</div>


و کد js


function readImage(file) {

var reader = new FileReader();
var image = new Image();

reader.readAsDataURL(file);
reader.onload = function(_file) {
image.src = _file.target.result; // url.createObjectURL(file);
image.onload = function() {
var w = this.width,
h = this.height,
t = file.type, // ext only: // file.type.split('/')[1],
n = file.name,
s = ~~(file.size / 1024) + 'KB';
$('#uploadPreview').append('<img src="' + this.src + '"> ' + w + 'x' + h + ' ' + s + ' ' + t + ' ' + n + '<br>');
};
image.onerror = function() {
alert('Invalid file type: ' + file.type);
};
};

}

$("#file").change(function(e) {
if (this.disabled) return alert('File upload not supported!');
var F = this.files;
if (F && F[0]) for (var i = 0; i < F.length; i++) readImage(F[i]);
});


حالا باید به <div> که میخواد پیش نمایش بده و اندازه رو نشون بده و حجم رو .... یه استایل بدی