خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
محدود کردن حجم فایل پیوست در vb.net
در اینجا برنامه قبلی را کمی ویرایش می کنیم و برای فایل های ضمیمه، یک محدودیت حجم هم قرار می دهیم. شما می توانید سورس را به زبان VB.NET از اینجا دانلود کنید.
Try
Dim filename As String
Dim OpenFileDialog1 As New OpenFileDialog
With OpenFileDialog1
Dim FileToCopy As String
Dim path As String = "D:\khoshamoz\"
.FileName = ""
.Filter = "all Files(*.zip;*.png;*.log;*.xlsx;*.xls;*.ico;*.pdf;*.docx;*.jpg;" & _
"*.bmp;*.doc;*.txt;*.gip;*.jpeg;*.mp3;*.3jp;*.wav;*.docx;)|*.zip;" & _
"*.png;*.log;*.xlsx;*.xls;*.ico;*.pdf;*.docx;*.jpg;*.bmp;*.doc;*.txt;*.gip;*.jpeg;*.mp3;*.3jp;*.wav;*.docx;"
.ShowDialog()
FileToCopy = .FileName
Dim filenameTest = System.IO.Path.GetFileName(FileToCopy)
filename = filenameTest
Dim file_ContentLength As Object
Dim file_ As New System.IO.FileInfo(FileToCopy)
file_ContentLength = "70000"
If (file_.Length > file_ContentLength) Then
MessageBox.Show("حجم فایل بیشتر از حد مجاز است", "حجم بیش از حد فایل", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
''''''''''''''''''''''''''''''''''''''''''''''''''
Dim allow_send_pic() As String = {".jpg", ".zip", ".png", ".gif", ".ico", ".png", ".xls",
".xlsx", ".txt", ".docx", ".doc", ".pdf", ".jpeg", ".gip",
".bmp", ".mp3", ".3jp", ".wav", ".docx", ".pub"}
Dim Extension As String = System.IO.Path.GetExtension(filename)
If Array.IndexOf(allow_send_pic, Extension.ToLower()) = -1 Then
MsgBox("فایل انتخابی مجاز نیست")
Exit Sub
End If
If System.IO.File.Exists(FileToCopy) = True Then
While (System.IO.File.Exists(path + filename))
filename = "0" + filename
End While
System.IO.File.Copy(FileToCopy, path + filename)
MsgBox("فایل با موفقیت در پیوست ذخیره شد.", MsgBoxStyle.Information, "پیوست اشخاص")
Me.txtRowFileName.Text = String.Empty
Me.txtRowFileName.Text = filename
End If
End With
Catch ex As Exception
End Try
توضیحات مربوط به کد برنامه در مقاله قبلی که لینک آن در شروع مقاله و در خط اول قرار داده شده است. شما برای توضیحات به آن مقاله می توانید مراجعه کنید اما برای اعمال محدودیت در فایل ضمیمه از کد زیر استفاده شد:
Dim file_ContentLength As Object
Dim file_ As New System.IO.FileInfo(FileToCopy)
file_ContentLength = "70000"
If (file_.Length > file_ContentLength) Then
MessageBox.Show("حجم فایل بیشتر از حد مجاز است", "حجم بیش از حد فایل", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
مقداری که برای متغیر file_ContentLength به صورت دستی در نظر گرفته 70000 می باشد، اما دوستان نکته ای که باید بدانید این است که این مقدار بر حسب بایت می باشد. یعنی در اینجا فقط و فقط فایل های مجاز را حجم نهایت 70000 بایت یا 70 کیلو بایت را می توانید آپلود و ضمیمه کنید و مقدار بیشتر از آن با پیغام خطای زیر مواجه خواهید شد:
در اینجا مقدار را ما دستی وارد کردیم، شما می توانید یک فرم تنظیمات در برنامه خودتان داشته باشید و مثلا مقادیر مجاز حجم فایل پیوست برای هر بخش برنامه را خودتان، یکبار برای همیشه تعیین کنید مثلا:
حجم فایل پیوست ایمیل= 3مگابایت
حجم فایل پیوست نامه داخلی= 5 مگابایت
و همینطور الی آخر، با اینکار قبل از اینکه فایل پیوست کاربر در محل تعیین شده شما(همان محلی که فایل های ضمیمه توسط برنامه ذخیره می شود) ذخیره شوند، به دلیل حجم بیش از حد مجاز فایل، از ذخیره آن جلوگیری به عمل آید.
بدین ترتیب در استفاده فضای ذخیره سازی هم تا حد امکان صرفه جویی به عمل خواهد آمد.
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: