دسته بندی ها
21:46 1400/10/22

کنترل اندازه یا size فایل انتخاب شده جهت آپلود در جی کویری

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : جاوا اسکریپت جی کوئری

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2984
هوش مصنوعی

پاسخ هوش مصنوعی

شما می توانید از جی کویری برای بررسی اندازه فایل انتخاب شده استفاده کنید. در زیر یک مثال ساده از چگونگی انجام این کار را مشاهده می کنید:

$(document).ready(function() {
    $('#files').on('change', function() {
        var file = this.files[0]; // اولین فایل انتخاب شده
        var maxSize = 1 * 1024 * 1024; // 1 مگابایت
        if (file.size > maxSize) {
            alert('حجم فایل انتخابی بیشتر از 1 مگابایت است!');
            $(this).val(''); // پاک کردن فایل انتخاب شده
        }
    });
});
به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 22:03 1400/10/22

کنترل size فایل انتخاب شده توسط جی کوئری

برای اینکه بتونید اندازه فایل انتخاب شده توسط کاربر رو کنترل کنید به مثال زیر دقت کنید :

<input type="file" id="files" name="files" />
<input type="button" onclick="UploadFile()" value="آپلود" class="btn" />

در کدهای بالا 2 تگ input داریم. تگ اول برای انتخاب یک فایل از local می باشد و توسط تگ دوم که در واقع یک button می باشد برای آپلود فایل انتخاب شده روی سرور استفاده می شود.

<script>
    var UploadFile = function () {
      var data = new FormData;
      //نگهداری فایل انتخاب شده در متغیر
      var file = $("#files").get(0);
      //تبدیل فایل انتخاب شده به یک آرایه باینری
      var files = file.files;

      //کنترل سایز فایل
      if (files[0].size >= 1048576) {
          consol.log('حجم فایل انتخابی بیشتر از 1 مگابایت است');
          return false;
      }
</script>

بعد از اینکه کاربر فایل را انتخاب کرد و روی دکمه آپلود کلیک کرد تابع UploadFile اجرا می شود. در این تابع در ابتدا فایل انتخاب شده رو به یک آرایه باینری تبدیل می کنیم. در ادامه به راحتی و توسط تابع size میتوانیم اندازه فایل را کنترل کنیم.

دقت کنید که تابع size اندازه فایل را بر اساس byte کنترل می کند. بنابراین برای اینکه کنترل کنیم حجم فایل 1 مگابایت بیشتر نیست باید 1 * 1024 * 1024 کنیم تا به صورت بایت مقدار را به دست بیاوریم.

به این پاسخ امتیاز بدهید    0
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود