PDA

View Full Version : سوال: دسترسی به عنصر HTML ی File



RoostaYeBekr
شنبه 25 آبان 1387, 21:37 عصر
با سلام
:لبخندساده:
من در ایبوک خواندم که برای اینکه از عنصر HTML ی File یا همان FileUpload استفاده کنیم ، باید که در قسمت فرم بنویسم :


<form id="form1" action="chapter_14_k.aspx" method="post" enctype="multipart/form-data" >

حال سوال من این است که چگونه می توان در صفحه ی chapter_14_k.aspx ، به فایل تصویری فرستاده شده توسط کاربر دسترسی داشت ( توجه داشته باشید که من اصلا نمی خواهم که از FileUpload سروری در صفحه ی اول استفاده کنم . ضمنا نمی خواهم که مثلا فایل آپلود در صفحه ی اول در دیتابیس ذخیره شود و به این طریق در صفحه ی دوم نمایش داده شود)
فقط ببخشید اگر می شه ، بازیابی FileUpload فرستاده شده در صفحه ی دوم در سمت سرور با ASP.NET باشد.

raravaice
شنبه 25 آبان 1387, 21:50 عصر
کنترل سمت سرور در ASP.NET هیچ فرقی با این کنترل نداره، شما برای گرفتن فایل کاربر از هر یک از این کنترل ها میتونی استفاده کنی ولی اگر از input file در HTML استفاده کردی حتما باید خاصیت runat=server رو ست کنی که از سمت سرور در دسترس باشه و باقیه قضایا.

موفق باشید

RoostaYeBekr
شنبه 25 آبان 1387, 23:38 عصر
کنترل سمت سرور در ASP.NET هیچ فرقی با این کنترل نداره، شما برای گرفتن فایل کاربر از هر یک از این کنترل ها میتونی استفاده کنی ولی اگر از input file در HTML استفاده کردی حتما باید خاصیت runat=server رو ست کنی که از سمت سرور در دسترس باشه و باقیه قضایا.

موفق باشید
با سلام و تشکر
راستش من می خواستم کاری کنم که بدون runat=server ، این قضیه انجام بشه . مثلا اگر شما input button های معمولی توی HTML را که اصلا runat=server ندارند ، درنظر بگیرید ، می توان مقدار اینها را قبل از submit شدن ، داخل یک input Hidden ی ریخت و این input Hidden هم ، در صفحه ی دوم ، و در سمت سرور ، قابل دستیابی است.

raravaice
شنبه 25 آبان 1387, 23:51 عصر
http://barnamenevis.org/forum/showthread.php?t=105236&highlight=Progress+bar&page=1

شما وقتی داری یک فایل رو به یک صفحه پست میکنی صفحه دریافت کننده باید از سمت سرور واکنش نشون بده.

موفق باشید

RoostaYeBekr
یک شنبه 26 آبان 1387, 00:55 صبح
http://barnamenevis.org/forum/showthread.php?t=105236&highlight=Progress+bar&page=1

شما وقتی داری یک فایل رو به یک صفحه پست میکنی صفحه دریافت کننده باید از سمت سرور واکنش نشون بده.

موفق باشید
با سلام و تشکر
من این لینکی که گفتید ، دیدم.
یکی اینکه قصد من از این سوال ، فرستادن یک فایل خیلی بزرگ نیست . مثلا در حد 113kb . ( البته شاید بگوئید : خوب پس خیلی هم کوچک نیست ، به خصوص اینکه کافی است تعداد کاربران همزمان زیاد شوند ) در هر صورت :
یک مسئله ی دیگر اینکه من به هیچ عنوان نمی خواهم از Ajax و یا کنترلهای سروری در صفحه ی اول استفاده کنم. چون بالاخره خود این Ajax هم ، یک باری برای Server دارد و تازه هزارتا مشکل جور و واجور دیگر دارد که اصلا الان نمی خواهم راجع به اون صحبت کنم.
با توجه به کدی که من در اولین پستم در این صفحه فرستادم ، احتمال می دهم که ایبوک بالاخره این قضیه را برای فرستادن فایل آپلود HTML ی به صفحه ی دیگر گفته. ( منظورم این است که حتما راه حلی دارد و نیاز به اینکه از Ajax استفاده کنیم و یا از runat=server استفاده کنیم و یا از روشی که آقای بهروز راد در لینکی که معرفی کردید ، استفاده کنیم ، نیست )

من یک تصویر Print Screen از ایبوک را برایتان فرستادم . در ایبوک ، ابتدا FileUpload را تعریف کرده و بلافاصله بعد از آن این نوشته را بیان کرده.

raravaice
یک شنبه 26 آبان 1387, 01:00 صبح
لازم نیست شما از Ajax یا خیلی از موارد دیگه اون تاپیک استفاده کنید. فقط بخش کوچکی از اطلاعات اون تاپیک میتونه مشکل شما رو به راحتی حل کنه.
البته کار شما به این خاطر سخت شده که کنترل File قرار هست که اطلاعاتش رو به صفحه ای عیر از صفحه جاری بفرسته وگرنه اگر قرار بود به صفحه جاری فرستاده بشه به راحتی میتونستید فایل رو Save کنید.

موفق باشید

RoostaYeBekr
یک شنبه 26 آبان 1387, 13:20 عصر
لازم نیست شما از Ajax یا خیلی از موارد دیگه اون تاپیک استفاده کنید. فقط بخش کوچکی از اطلاعات اون تاپیک میتونه مشکل شما رو به راحتی حل کنه.
البته کار شما به این خاطر سخت شده که کنترل File قرار هست که اطلاعاتش رو به صفحه ای عیر از صفحه جاری بفرسته وگرنه اگر قرار بود به صفحه جاری فرستاده بشه به راحتی میتونستید فایل رو Save کنید.

موفق باشید
با سلام
منظورتون از اینکه گفتید :


فقط بخش کوچکی از اطلاعات اون تاپیک میتونه مشکل شما رو به راحتی حل کنه.

فکر کنم اون قسمتی هست که آقای بهروز راد گفته :


اگر بخوای چنین کامپوننتی رو پیاده سازی کنی، در حقیقت معنای "آپلود" دیگه وجود حقیقی نداره. یعنی اینکه مثلا کنترل Input دیگه معنای خودش رو از دست میده و متد Save وجود نداره! کل جریان ارسال داده رو خودت بر عهده می گیری و تمام اون رو "یا" در یک فایل ذخیره می کنی "یا" بررسی می کنی که آیا داده ی ارسال شده یک فایل هست یا نه.

منظورتون همین هست؟:متفکر:
اگر همین هست ، باز من فکر می کنم که حتما راهی راحتتر از این وجود دارد . البته شاید هم اشتباه می کنم.