نمایش نتایج 1 تا 2 از 2

نام تاپیک: ایراد کد کم کردن حجم تصاویر قبل از ارسال به سرور؟

  1. #1

    ایراد کد کم کردن حجم تصاویر قبل از ارسال به سرور؟

    با سلام و عرض ادب

    در قسمتی از سایت ما نیاز به آپلود عکس داریم و میخوایم کاربر صفر کیلومتر هم درگیر کوچک کردن عکس و این چیزا نشه چنین کدی اماده کردم اما باز جواب نمیده و عکس 4 مگا بایتی کامل به سرور ارسال میشه و زمان بره تا آپلود بشه میخوام فقط سرعت ارسال به سرور افزایش پیدا کنه و گرنه سمت سرور بخوام کم کنم حجمش رو مشکلی نداره
    کد HTML:
     <asp:fileupload id="FileUpload1" runat="server" />
            <asp:requiredfieldvalidator controltovalidate="FileUpload1" runat="server" id="RequiredFieldValidator6" errormessage="" validationgroup="j1" display="Dynamic" text="" setfocusonerror="True"></asp:requiredfieldvalidator>
            <input type="button" value="برای انتخاب دوبار کلیک کنید"  onclick="ResizeImage()" />
            <asp:HiddenField ID="HiddenField1" runat="server" />
            <img width="200" height="200" src="" runat="server" id="output">
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_OnClick" />
               <script type="text/javascript">
    
                   function ResizeImage() {
                       if (window.File && window.FileReader && window.FileList && window.Blob) {
                           var file =  document.getElementById('<%=FileUpload1.ClientID%>').files[0];
                           if (file) {
                               var reader = new FileReader();
                               // Set the image once loaded into file reader
                               reader.onload = function (e) {
    
                                   var img = document.createElement("img");
                                   img.src = e.target.result;
    
                                   var canvas = document.createElement("canvas");
                                   var ctx = canvas.getContext("2d");
                                   ctx.drawImage(img, 0, 0);
    
                                   var MAX_WIDTH = 300;
                                   var MAX_HEIGHT = 300;
                                   var width = img.width;
                                   var height = img.height;
    
                                   if (width > height) {
                                       if (width > MAX_WIDTH) {
                                           height *= MAX_WIDTH / width;
                                           width = MAX_WIDTH;
                                       }
                                   } else {
                                       if (height > MAX_HEIGHT) {
                                           width *= MAX_HEIGHT / height;
                                           height = MAX_HEIGHT;
                                       }
                                   }
                                   canvas.width = width;
                                   canvas.height = height;
                                   var ctx = canvas.getContext("2d");
                                   ctx.drawImage(img, 0, 0, width, height);
    
                                   dataurl = canvas.toDataURL(file.type);
                                   document.getElementById('<% =HiddenField1.ClientID%>').value= document.getElementById('output').src = dataurl;
                               }
                               reader.readAsDataURL(file);
    
                           }
    
                       } else {
                           alert('مرورگر شما چنین کدی را ساپورت نمی کند.');
                       }
                   }
    
               </script>
    و سمت سرور

    int width = 300;
    int height = 300;
    byte[] image1;
    try
    {
    image1 = Convert.FromBase64String(HiddenField1.Value.Replac e("data:image/jpeg;base64,", ""));
    }
    catch
    {
    image1 = Convert.FromBase64String(HiddenField1.Value.Replac e("data:image/png;base64,", ""));
    }


    using (MemoryStream mem = new MemoryStream(image1))
    {
    Stream stream = mem;
    Bitmap image = new Bitmap(stream);
    Bitmap target = new Bitmap(width, height);
    Graphics graphic = Graphics.FromImage(target);
    graphic.DrawImage(image, 0, 0, width, height);
    target.Save(Server.MapPath(@"~/up/" + FileUpload1.FileName));
    }




  2. #2

    نقل قول: ایراد کد کم کردن حجم تصاویر قبل از ارسال به سرور؟

    سعی کنید این موارد رو به متخصص بسپرید من یه پروژه برای یه برج سازی بنام فرتاک داشتم که همه رو متخصص اجام میداد

تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: دوشنبه 09 شهریور 1394, 18:19 عصر
  2. پاسخ: 82
    آخرین پست: دوشنبه 25 آذر 1392, 20:09 عصر
  3. پاسخ: 3
    آخرین پست: پنج شنبه 06 مهر 1391, 18:55 عصر
  4. پاسخ: 0
    آخرین پست: جمعه 15 اردیبهشت 1391, 12:59 عصر
  5. پاسخ: 1
    آخرین پست: شنبه 12 تیر 1389, 21:53 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •