PDA

View Full Version : حرفه ای: حداکثر حجم مجاز برای آپلود فایل



nimadows
شنبه 29 تیر 1392, 21:35 عصر
با سلام
چطور امکانش هست که با کمک jquery یا java script قبل از ارسال فایل به سرور حجم فایل اندازه گیری بشه بعد اگه بیشتر از حجم مجاز بود پیغام بده.
من از سمت سرور محدود کردم اما اول کل فایل ارسال میشه بعد ارور میده
میخوام قبل از ارسال چک کنم
پیشاپیش ممنون

afshin9032
شنبه 29 تیر 1392, 23:14 عصر
این کار با زبان ذکر شده امکان نداره ، مگر اینکه به همراه فلش استفاده کن .

nimadows
یک شنبه 30 تیر 1392, 00:16 صبح
وقتی با کدهای js یا jquery میشه فایلها مجاز رو از غیر مجاز جدا کرد
حتما این کارم میشه کرد

nimadows
یک شنبه 30 تیر 1392, 00:17 صبح
البته فکر میکنم دوست عزیزم افشین جان

jalil_gh
یک شنبه 30 تیر 1392, 08:45 صبح
کار راحتیه فقط باید مرورگر از html5 file api پشتیبیانی کنه. اینجا (http://caniuse.com/fileapi) لیست مرورگرهایی که پشتیبانی میکنن و نمیکنن اومده.
نمونه کدهای زیر رو امتحان کنید:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
</style>
</head>
<body>

<input type="file" id="myFile">

<script src="jquery-2.0.0.js"></script>

<script>

$('#myFile').on('change', function () {
var size;
try {

size = this.files[0].size;

} catch (ex){}

if (size) {
alert(size);
// size is available
// check for the size and act accordingly
} else {
// size is not available because browser does not support it.
// can do nothing about it
}
});

</script>
</body>

</html>

afshin9032
یک شنبه 30 تیر 1392, 19:00 عصر
با html5 میشه ، اما مشکل اینه که باید مرورگر پشتیبانی کنه و از اونجا که IE9- اصلا html5 رو نمی فهه بهتره که از ترکیب فلش و جاوا اسکریپت استفاده کنی .

afshin9032
یک شنبه 30 تیر 1392, 19:03 عصر
وقتی با کدهای js یا jquery میشه فایلها مجاز رو از غیر مجاز جدا کرد
حتما این کارم میشه کرد
تو برخی مرورگرها شاید بشه که با IE امکان نداره، اما اگر میخوای با تمام مرورگرها کار کنی ، چاره ای نداری که با فلش استفاده کنی ، این رو مطمئن باش .
اون بحث چک کردن نوع هم فقط پسوند فایل انتخاب شده رو چک می کنه ، کار خاصی نیست ، از قدبم هم رایج بوده .
حتی گوگل هم از ترکیب فلش و جاوا اسکریپت استفاده کرده ، دوست گرامی :لبخندساده:
تمام موارد بالا در صورتی هست که از امکانات html5 استفاده نکنی .

nimadows
یک شنبه 30 تیر 1392, 21:17 عصر
دوستان من براحتی با jquery نوشتم و روی تمام مرور گرها هم کار میکنه
به فایل آپلود میگیم که اگه فایل حجمش بشتر از مثلا 50 مگابایت باشه هشدار بده و value فایل آپلود رو حذف کنه

nimadows
یک شنبه 30 تیر 1392, 21:36 عصر
اگه مایل بودن بگین کد رو قرار بدم

mohammad kafiyan
دوشنبه 31 تیر 1392, 00:26 صبح
اگه مایل بودن بگین کد رو قرار بدم

نیکی پرسش.
منتظریم

nimadows
دوشنبه 31 تیر 1392, 15:23 عصر
$("#FileUpload1").change(function () {
var a = this.files[0].size;
// alert(a);
if (a > 52428800) {

alert("(( حداکثر حجم مجاز 50 مگابایت می باشد))");

$("#FileUpload1").val("");
$("#TextBox1").val("");

nimadows
دوشنبه 31 تیر 1392, 15:25 عصر
اینم از کد
پیروز باشید

afshin9032
دوشنبه 31 تیر 1392, 18:18 عصر
$("#FileUpload1").change(function () {
var a = this.files[0].size;
// alert(a);
if (a > 52428800) {

alert("(( حداکثر حجم مجاز 50 مگابایت می باشد))");

$("#FileUpload1").val("");
$("#TextBox1").val("");

خوب این یک بدی داره که کاربر می تونه کد رو دستکاری کنه ، بعد حجم رو 1G بکنه .

nimadows
دوشنبه 31 تیر 1392, 20:13 عصر
خوب این یک بدی داره که کاربر می تونه کد رو دستکاری کنه ، بعد حجم رو 1G بکنه .

شما اگه بخوای امنیت رو به query یا java script بسپاری آره
اما برای امنیت بیشتر باید در وب کانفیگ هم بنویسی که بیشتر از 50 مگابایت آپلود نشه
که اگه java script یا jquery غیر فعال شد کاربر نتونه بیشتر از حجم مجاز به سمت سرور فایلی ارسال کنه

پیروز باشید