با سلام و عرض ادب
در قسمتی از سایت ما نیاز به آپلود عکس داریم و میخوایم کاربر صفر کیلومتر هم درگیر کوچک کردن عکس و این چیزا نشه چنین کدی اماده کردم اما باز جواب نمیده و عکس 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));
}



پاسخ با نقل قول

