اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


کسری نعمتی مهمان

آموزش دانلود کردن عکس و فایل و ذخیره آن

37 ارسال در این موضوع قرار دارد

Sub JobDone(job As HttpJob)
   If job.Success Then
     Dim out As OutputStream = File.OpenOutput(File.DirRootExternal, "filename.dat", False)
     File.Copy2(job.GetInputStream, out)
     out.Close '<------ very important
   Else
     Log("Error: " & job.ErrorMessage)
   End If
   job.Release
End Sub

این کد,  فایل دانلود شده رو ذخیره میکنه . حالا ما چطور میتونیم به این فایل دسترسی داشته باشیم و این عکسی که دانلود کردیم را در یک imagewiev نمایش بدیم .؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوستم

File.DirRootExternal, "filename.dat"

این قسمت رو ببینید

داره ادرس فایل خروجی رو میده

البته فرمتش فک کنم برای نمایش در ایمیج ویو باید فرمت تصویر باشه

dim bit1 as bitmap
bit1.initialize(File.DirRootExternal, "filename.dat")
imageview1.bitmap = bitmap1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام  وممنون از پاسختون. اگه دقت بکنین من اول کدم همین چک رو انجام داده م!

ولی مشکل فهمیدم از کجاست!! یک بی دقتی! دقیقا توی همون کد چک کردن دایرکتوری، false رو نذاشته بودم

یعنی if file.exists( , )=false قسمت قرمز رنگ رو نداشته بودم!!

الان شکر خدا دانلود انجام میشه و پوشه هم ساخته میشهولی به یه مشکل عجیب برخوردم!!من برنامه م به این شکله که مثلا 10 تا متن دارم که کاربر از لیست وارد هر کدوم از این متن ها میشه و هر متن هم یه l.tag مخصوص خودش رو داره که داخل متغیر z ذخیره میشه.

من فایل های روی سرور رو طبق همین خاطرات نامگذاری کرده م. یعنی اگه کاربر، داخل متن شماره 3 روی لینک دانلود کلیک کنه، فایل شماره 3 رو از سرور دانلود بکنه.

link1="http://bayanbox.ir/download/8384160606485472633/m"&z&".mp3"
مشکل اینجاست: الان روی سرور یک فایل بیشتر ندارم و باشماره 10 ذخیره ش کردم و طبیعتا باید موقعی که متغیر z برابر 10 میشه اون فایل دانلود بشه

و در بقیه متن ها (با شماره غیر از 10) پیام خطا برای دانلود باید داده بشه. ولی در کمال تعجب داخل هر متنی باشم با z های مختلف،

همون فایل با شماره 10 دانلود میشه و با شماره متنی که داخلش هستم ذخیره میکنه. حتی آدرس هم که log میکنم مثلا شماره 3 هستش و

باید خطا بده. ولی اینطور نیست و همون فایل شماره 10 رو دانلود میکنه و با شماره 3 ذخیره میکنه!! (من قبل از استفاده از

ماژول های largefiledownload که از کتابخانه httputils2 استفاده می کردم، به درستی این اتفاق برام میفتاد.

یعنی در متنهای غیر از شماره 10 پیام خطا دریافت میکردم. ولی بعد از استفاده از این ماژول ها به این مشکل خوردم.)

کسی میتونه راهنمایی کنه؟

سلام  وممنون از پاسختون. اگه دقت بکنین من اول کدم همین چک رو انجام داده م!

ولی مشکل فهمیدم از کجاست!! یک بی دقتی! دقیقا توی همون کد چک کردن دایرکتوری، false رو نذاشته بودم

یعنی if file.exists( , )=false قسمت قرمز رنگ رو نداشته بودم!!

الان شکر خدا دانلود انجام میشه و پوشه هم ساخته میشهولی به یه مشکل عجیب برخوردم!!من برنامه م به این شکله که مثلا 10 تا متن دارم که کاربر از لیست وارد هر کدوم از این متن ها میشه و هر متن هم یه l.tag مخصوص خودش رو داره که داخل متغیر z ذخیره میشه.

من فایل های روی سرور رو طبق همین خاطرات نامگذاری کرده م. یعنی اگه کاربر، داخل متن شماره 3 روی لینک دانلود کلیک کنه، فایل شماره 3 رو از سرور دانلود بکنه.

link1="http://bayanbox.ir/download/8384160606485472633/m"&z&".mp3"
مشکل اینجاست: الان روی سرور یک فایل بیشتر ندارم و باشماره 10 ذخیره ش کردم و طبیعتا باید موقعی که متغیر z برابر 10 میشه اون فایل دانلود بشه

و در بقیه متن ها (با شماره غیر از 10) پیام خطا برای دانلود باید داده بشه. ولی در کمال تعجب داخل هر متنی باشم با z های مختلف،

همون فایل با شماره 10 دانلود میشه و با شماره متنی که داخلش هستم ذخیره میکنه. حتی آدرس هم که log میکنم مثلا شماره 3 هستش و

باید خطا بده. ولی اینطور نیست و همون فایل شماره 10 رو دانلود میکنه و با شماره 3 ذخیره میکنه!! (من قبل از استفاده از

ماژول های largefiledownload که از کتابخانه httputils2 استفاده می کردم، به درستی این اتفاق برام میفتاد.

یعنی در متنهای غیر از شماره 10 پیام خطا دریافت میکردم. ولی بعد از استفاده از این ماژول ها به این مشکل خوردم.)

کسی میتونه راهنمایی کنه؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام من ميخوام يه كد مثل شما بنويسم و اهنگ مورد نظرم در پوشه ي sing ذخيره بشه اگه كد مخصوص اينو برام بنويسن خيييلي ممنون ميشم

ممنون از اقا mirsedali

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خواهش ميكنم يه راهنمايي بكنيد من ميخوام دقيقا همين كارو انجام بدم ولي بره توي يه پوشه يي كه من ميخوام خواهش ميكنم كد مخصوص اين كاري كه من ميخوام بكنم رو بهم بگيد البته اقاي miesedali يه روش گفتند ولي مثل اينكه اشتباه بود

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ببخشید .

برنامه Run می شه ...

اما بعد از چند ثانیه که اجرا شد روی املاتور youwave خطا می ده !!:

2015_05_22_170959.png

این هم از کد هام :

Sub Globals
Private ImageView1 As ImageView
Dim baresh As HttpJob
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("main")

If FirstTime = True Then
baresh.Initialize("d",Me)
baresh.Download("http://www.jetplan.com/weather/data/maps/mesfcpc24.gif")
End If
End Sub
Sub jobdone
If baresh.Success Then
ImageView1.SetBackgroundImage(baresh.GetBitmap)
Else
Log("Error: " & baresh.ErrorMessage)
End If
baresh.Release
End Sub

دوست عزیز شما شکل صحیح sub jobdone  رو ننوشتی باید اینطور بنویسی

Sub JobDone (Job As HttpJob)

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مشکل قبلی حل شد.

اما هر بار وارد اکتیویتی میشم به نظر میاد دوباره عمل دانلود انجام میشه.

چون اون عکس دیگه ثابت برای ایمیج ویو ذخیره نمیشه...

اشکال کجاست؟

Sub Globals
	Dim Job1 As HttpJob
	Private ImageView1 As ImageView

End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout")
	
	If FirstTime = True Then
	Job1.Initialize("Job1",Me)
	Job1.Download("http://s7.picofile.com/file/8258961084/ICONORIGINAL.png")
	End If 
End Sub

Sub JobDone (Job As HttpJob)

If Job1.Success Then
ImageView1.SetBackgroundImage(Job1.GetBitmap)
Else 
 Log("Error: " & Job1.ErrorMessage)
   End If
   Job1.Release
End Sub

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام من میخوام برنامه یه فایلو اگه تو گوشی بود باز کنه و  اگه نبود دانلود کنه بعد تو دفعه های بعد باز کنه چی باید بنویسم؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام
من مشکل خاص و شایدم ساده ای دارم
من از این طریق فایل دیتابیس رو دانلود میکنم و درست کار میکنه
حالا مشکلم اینه که جوری کد بزنم که اسم فایل  مهم نباشه و هر فایلی با پسوندی که بهش میدیم رو دانلود کنه (db.*) ؟؟؟
علتشم اینه که اسم فایلی که آپلود میکنم تغییر میکنه

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 1393/08/10, 09:42:34، مهدی ایزدی گفته است :

سلام و درود

البته روش ProgressBar معمولا واسه دانلود فایل هایی که حجم تقریبا رو به زیاد یا زیادی دارن استفاده میشه

نمونه سورس رو پیدا کردم و براتون پیوست کردم

فرصت سورس کد نوشتن و آموزش رو ندارم متاسفانه.

موفق باشید

SS-2013-06-13_17.34.35.png

LargeFileDownload.rar

سلام و عرض ادب
مسیر دسترسی به فایل دانلود شده در این برنامه کجاس؟
ظاهرا باید در File.DirInternalCache باشه ولی نیست
من فایل رو دانلود میکنم ولی به فایل دسترسی ندارم

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 1394/04/19, 08:58:11، torab گفته است :

سلام من با یه دکمه لینکارو از دیتابیس میگیرم میارم تو مولتی پنل وبا تگ دانلود میکنم ومیخوام بااسمی که تو دیتابیس تو ستون name نوشتم ذخیره اش کنم وطبق روشی که شما گفتید عمل کردم ولی ارور میده؛ این کدهام هستن ببین کجاش اشتباه نوشتم ؟؟؟؟ممنون


Sub Process_Globals
Dim sql2 As SQL
End Sub


Sub Globals
Private Panel1 As Panel
Private ScrollView2 As ScrollView
Dim Stopint As Int=5%y
Private img1 As ImageView

Private Buttondownload As Button

Dim htt As HttpJob
Dim cur1 As Cursor
Private ps As Panel
Private p1 As Panel
End Sub





(Sub Activity_Create(FirstTime As Boolean
(ScrollView2.Initialize(2000dip
(p1.AddView(ScrollView2,0,0,100%x,100%y
("File.Copy(File.DirAssets,"sql1.db",File.DirInternal,"sql1.db
(sql2.Initialize(File.DirInternal,"sql1.db",False
("cur1=sql2.ExecQuery("SELECT * From tbltest WHERE id BETWEEN 1 AND 30
For i=0 To cur1.RowCount-1
cur1.Position=i
Dim ps As Panel
("ps.Initialize("ps
(ScrollView2.Panel.AddView(ps,0,Stopint,100%x,100%Y
Stopint=Stopint+150dip
("ps.LoadLayout("nn
                           Panel1.Tag=i 
If (i Mod 2)=1 Then 
Panel1.Color=Colors.Red 
Else 
Panel1.Color=Colors.Blue 
End If
("Buttondownload.tag = cur1.GetString("Logo
ScrollView2.Panel.Height=Stopint
Next
End Sub





(Sub JobDone (Job As HttpJob
ProgressDialogHide
If Job.Success=True Then
If File.IsDirectory(File.DirRootExternal,"myapp") = False Then
("File.MakeDir(File.DirRootExternal,"myapp
End If
Dim i1 As InputStream
Dim o1 As OutputStream
i1 = Job.GetInputStream
(o1 = File.OpenOutput(File.DirRootExternal & "/myapp",cur1.GetString("name"),False
(File.Copy2(i1,o1
i1.Close
o1.Close
ToastMessageShow("با موفقیت ذخیره شد",False)
End If
If Job.Success=False Then
        ToastMessageShow("اینترنت گوشی شما قطع میباشد!",True)
End If
  Job.Release
End Sub
_
Sub Buttondownload_Click
Dim izy As Button
izy = Sender
If File.Exists(File.DirRootExternal & "/myapp",cur1.GetString("name")) = False Then
(htt.Initialize("htt",Me
(htt.Download(izy.Tag
ProgressDialogShow("در حال دانلود")
End If
If File.Exists(File.DirRootExternal & "/myapp",cur1.GetString("name")) = True Then
 ToastMessageShow("فایل وجود دارد!",False)
End If 
End Sub

سلام

ببخشید یه سوال دارم:

لینک های شما داخل دیتابیس هست و شما اومدید با این کدها اونها را گرفتید  و دانلودش کردید و سپس در پوشه برنامه ذخیره کردید و اخر سر هم گفتید اگر لینکی با این نام دذر پوئشه برنامه بود اون را دوباره دانلود نکن و بگو فایلی با این نام وجود دارد ..درست؟؟؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری