صممت موقع خاص بمكتبة اكترونية لتحميل وتنزيل الكتب من والي جهاز المستخدم علما ان قاعدة بيانات تحتوي علي حقول التالية
id,name,conect type,date
اريد مساعدة كيف يتم عرض حجم الكتاب قبل التحميل
ــــــــــــــــــــــــــــــــ asp.net
(09-10-16, 05:22 PM)أبو عمر كتب : [ -> ]http://stackoverflow.com/questions/30947...ore-upload
في الرد على السؤال فكرة جميلة بالجي كويري وانت تحدد حجم الملف مسبقا في الاسكربت
اذا ما ناسبك هذا ففيه حل اخر
في الكود الخلفي تقدر تحدد حجم الملف
http://www.telerik.com/blogs/upload-larg...syncupload
وهنا طريقة عالسريع
PHP كود :
Dim fs As Decimal
fs = (FileUpload1.FileBytes.Length / 1024)
Label1.Text = (fs).ToString("0,0")
If fs > 2 Then
Exit Sub
Else
استكمل كود رفع الملف
End If
بالتوفيق
كما تفضل اخي ابو عمر باعطائك المصادر بالطريقه ، لي وقفه فقط للتوضيح لماذا استخدم تلك او تلك ؟!!!
انا ارشح استخدام JQuery أو JavaScript مع الكود الخلفي ، لماذا ..؟
الكود الخلفي مشكلته بانه سوف يحمل الملف الى الموقع ثم يشيك عليه هل حجمه مناسب ام لا و بذالك استهلك باندويث واستهلك موارد السيرفر لانها خطوه ممكن ان يتم عملها من على جهاز العميل دون الحاجه الى PostBack السيرفر . بالاضافة عامل الوقت لابد للمستخدم الانتظار حتى يحمل الملف حتى يشيك على حجمه هل هو مناسب ام لا ، الطرف الاخر وهو عند استخدام للجافا سكربت فقط عندما يكون المستخدم معطل ميزة الجافا سكربت من متصفحه فانه سيحمل الملف بالحجم الذي يريده و هذا مشكله ، من الناحية الامنيه اقترح استخدام الطريقتين ، على العموم هذا كود جافا سكربت و كود خلفي قمت بتطبيقها على احد مشاريعي يمكنك الاستفاده منها ، حيث الرقم
1048576 يمثل حجم الملف بالبايت و هذا يمثل 1 ميقا :
كود :
<asp:FileUpload ID="UOFileAddEmpFilesAttachmentName" runat="server" style="text-align: right;direction:ltr;" class= "form-control-WithExtraSpace" onchange="validateUOFileAddEmpFilesAttachmentNameFileSizeOnChange();" />
<asp:RequiredFieldValidator ID="RFVUOFileAddEmpFilesAttachmentName" runat="server" ErrorMessage="الرجاء التحقق من ادخال [ملف الوثيقة] قبل المتابعة. " ControlToValidate="UOFileAddEmpFilesAttachmentName" Display="Dynamic" ValidationGroup="AddValidationGroupDocumentsEmployee" ForeColor="Red" Text="*"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="CustValidatUOFileAddEmpFilesAttachmentName" runat="server" Text="*" ToolTip="" ErrorMessage="قد تم تجاوز الحد المسموح به لرفع ملف (ملف الوثيقة) الرجاء التحقق من أن حجم الملف لا يتجاوز 1 ميقا ." ControlToValidate="UOFileAddEmpFilesAttachmentName" ValidationGroup="AddValidationGroupDocumentsEmployee" ClientValidationFunction="CustValidatUOFileAddEmpFilesAttachmentNameFileSize" />
<script type="text/javascript">
function validateUOFileAddEmpFilesAttachmentNameFileSizeOnChange() {
var uploadControl = document.getElementById('<%= UOFileAddEmpFilesAttachmentName.ClientID %>');
if (uploadControl.files[0].size > 1048576) {
alert("قد تم تجاوز الحد المسموح به لرفع ملف (ملف الوثيقة) الرجاء التحقق من أن حجم الملف لا يتجاوز 1 ميقا .");
return false;
}
else {
return true;
}
}
function CustValidatUOFileAddEmpFilesAttachmentNameFileSize(source, arguments) {
arguments.IsValid = false;
var uploadControl = document.getElementById('<%= UOFileAddEmpFilesAttachmentName.ClientID %>');
if (uploadControl.files[0].size > 1048576) {
arguments.IsValid = false;
return false;
}
else {
arguments.IsValid = true;
return true;
}
}
</script>