PDA

View Full Version : یه راه حل >>> برای نوعی خاص از Upload >>> ?



atf
چهارشنبه 29 تیر 1384, 11:35 صبح
با عرض سلام خدمت همه دوستان

من می خوام دکمه ای داخل صفحه بگذارم که کاربر با کلیک بر روی آن بتواند نتایج جستجوی خود را ( فرض بر این است که کاربر ابتدا جستجو کرده و بعضی یا تمام نتایج جستجوی خود را مارک کرده است) به صورت یک فایل متنی دریافت Upload کند .


خوب مطمئنا من باید ابتدا اون فایل رو سمت سرور بسازم :

مسئله 1 ) بعد از اینکه فایل رو بر روی سرور ساختم با چه کدی امکان Upload اون و به کاربر بدم.

مسئله 2 )از آنجایی که فایل ساخته شده باید از روی سرور پاک شود این کار رو چه زمانی باید انجام بدم یا به عبارتی چه طور متوجه بشم که کاربر فایل رو upload کرده و کارش با اون تموم شده

ممنون از توجه همه دوستان

JikSearch
جمعه 31 تیر 1384, 10:25 صبح
"به صورت یک فایل متنی دریافت Upload کند "
فکر کنم عنوان را اشتباه انتخاب کردی، کاربر باید Download کند.
سوال اول: فکر کنم می توانی یک پوشه تمپ داشته باشی که فایل متن یا XML را توی آن ایجاد کنی با پیشوند تاریخ، بعدش اسم فایل را به یک آدرس ثابت اضافه کنی مثلاً
www.mysite.com/ResultTemp/20051106-240110.text
سوال دوم: فایل هایی با تاریخ دیروز را پاک کنی (در این مورد فکر کنم راه های بهتری هم باشه)

atf
شنبه 08 مرداد 1384, 14:49 عصر
با سلام خدمت همه اساتید و دوستان .
اجازه بدید در مورد مشکلم کمی بیشتر توضیح بدم.
من دقیقا در صفحه کلیدی دارم که می خوام کاربر بعد از کلیک روی این دکمه یک فایل text رو بتواند download کند . یعنی بلا فاصله بعد از کلیک دکمه پنجره File Download برای کاربر باز شود .
من از دستور(" Response.Redirect("Sample.txt استفاده کردم اما بجای باز شدن پنجره File Download متن موجود در فایل رو در داخل پنجره IE نمایش می ده.

آیا برای پاک کردن این فایل ها بلا فاصله بعد از اینکه کاربر فایل text مربوط به خودش رو Download کرد راه بهتری بجز راه پیشنهادی دوستمون "jiksearch" نیست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
از توجه شما ممنون

Mahdavi
شنبه 08 مرداد 1384, 14:59 عصر
سلام
با Response.write فایل رو بنویس و حالا خودت میدونی که زمانی که دستورات Response.Write کی تموم شده و نیازی به temp و حذف فایلهای قبلی نداری.
برای اون مساله هم که گفتی که فایل text را نشون میده علت برمی گرده به config مربوط به IIS .
IIS خودت رو باید طوری تنظیم کنی که فایل های txt را ناشناس فرض کنه در اینصورت اون پنجره که گفتی باز میشه.

atf
شنبه 08 مرداد 1384, 15:47 عصر
آقای مهدوی ممنون

اما "با response.write فایل رو بنویس یعنی چی؟؟؟ ؟؟؟ "
من باید فایلی در سمت سرور بسازم و داخل این فایل برای کاربر مطالبی رو درج کنم و این فایل رو در اختیار کاربر قرار دهم (محتوی این فایل برای هر کاربر متفاوت است) .
مسئله جایی سخت تر می شود که چند کاربر با هم و همزمان (در ترافیک های بالا) یک همچین فایلی رو بخواهند.
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟

Mahdavi
یک شنبه 09 مرداد 1384, 00:30 صبح
سلام
نیازی نیست حتما فایل رو هارد ایجاد کنی.
stream ها واسه همین قضیه هستند

Erfanian
یک شنبه 09 مرداد 1384, 10:06 صبح
myFileName ="AAAA.Txt"
myFilePath = Server.MapPath("")

MyFileInfo = New System.IO.FileInfo(myFilePath & "\" & myFileName)
myFileSize = MyFileInfo.Length




Response.AddHeader("Content-Disposition", "attachment; filename =" &myFileName)
Response.AddHeader("Content-Length", myFileSize.ToString)
Response.ContentType = "application/octet-stream"
Response.WriteFile(myFilePath & "\" & myFileName)
Response.Flush()
Response.End()