PDA

View Full Version : سوال: کپی یک فایل با نام و فرمت خود در سرور



farbod61
شنبه 11 خرداد 1392, 14:00 عصر
سلام دوستان
یک سوال داشتم
میخواستم ببینم من با چه کدی میتونم یک فایل رو با فرمت و نام خودش توی سرورم کپی کنم و بعد بتونم اون رو دانلود کنم با همون نام و فرمت

hosein320
شنبه 11 خرداد 1392, 14:12 عصر
سلام
این دستور برای آپلود فایل هست
My.Computer.Network.UploadFile("File Address","Adress",",User name","Pass")
این دستور هم برای دانلود فایل هست
My.Computer.Network.DownloadFile("Address", "مسیر دخیره سازی")

farbod61
شنبه 11 خرداد 1392, 14:53 عصر
سلام
این دستور برای آپلود فایل هست
My.Computer.Network.UploadFile("File Address","Adress",",User name","Pass")
این دستور هم برای دانلود فایل هست
My.Computer.Network.DownloadFile("Address", "مسیر دخیره سازی")

حسین جان ممنونم از جوابت
داداشی یه نمونه برام میزاری؟ کوچیک که خودم توش ادرس سرور رو قرار بدم؟
آخه هر چی میزنم ارور میگیره
در ضمن آدرس فایل همون اپن فایل دایلوگ هستش دیگه؟

farbod61
شنبه 11 خرداد 1392, 14:56 عصر
اینم عکس ارور

farbod61
شنبه 11 خرداد 1392, 15:00 عصر
اینم ارور بعدی
میگه نام فایل رو مشخص کن
من میخوام همون نام فایلی باشه که انتخاب میکنی

farbod61
شنبه 11 خرداد 1392, 15:11 عصر
من الان اینجوری کپی میکنم
کپی هم میشه
مشکل اینه که اسم و فرمت فقط اونیه که من تو سورس کدم مشخص میکنم
من میخوام اسم و فرمتم با توجه به اسم و فرمت فایل انتخابی باشه
مثلا تو اینجا نام ای دی ردیفم هستش و فرمت عکس ولی من شاید بخوام پی دی اف ذخیره کنم






Me.OpenFileDialog1.ShowDialog()

Me.TextBox13.Text = OpenFileDialog1.FileName




Dim fs, fd As String
fs = Me.OpenFileDialog1.FileName
fd = "\\192.169.10.2\App\data\pics\files\" + Me.IDTextBox.Text + ".jpg"
IO.File.Copy(fs, fd, True)

hosein320
شنبه 11 خرداد 1392, 15:46 عصر
خب شما دستور رو گذاشتین بین کوتیشن
برای همین به عنوان یه رشته قبولش میکنه نه یه دستور
openfiledialog.filename
رو از کوتیشن بیارین بیرون


Me.OpenFileDialog1.ShowDialog()

Me.TextBox13.Text =IO.Path.GetFileName(OpenFileDialog1.FileName)




Dim fs, fd As String
fs = Me.OpenFileDialog1.FileName
fd = "\\192.169.10.2\App\data\pics\files\" + Me.TextBox13.Text
IO.File.Copy(fs, fd, True)

کدتونو به این تغییر بدین
پسوند هم نیاز نیست ک وارد کنید
:چشمک:

farbod61
شنبه 11 خرداد 1392, 16:07 عصر
ممنونم دوست عیز از توجهتون
الان من یک فایل پی دی اف رو کپی کردم ولی وقتی کپی شد چون پسوند توش مشخص نبود به عنوان یک فایل با فرمت نامشخص کپی کرد برام
خب پس من اگه این فایل رو بخوام دانلود کنم چه جوری دوباره با فرمت پی دی اف دانلود بشه؟
من میخوام وقتی فایل پی دی اف اتچ میکنم با همون فرمت پی دی اف اتچ بشه یا اگه فایل زیپ شده هستش با همون فرمت زیپ شده کپی بشه و ....
ببخشید اگه وقتتون رو میگیرم و بازم ممنونم از توجهتون

hosein320
شنبه 11 خرداد 1392, 16:12 عصر
کد اصلاح شد!

farbod61
شنبه 11 خرداد 1392, 16:21 عصر
یه دونه ای حسن جان
درست کپی کرد
یک دنیا تشکر
من یک سوال دیگه بپرسم؟
ببخش توروخدا
حالا من تو یک فرم دیگه میخوام این فایل رو دانلود کنم از سرور
چیکار کنم؟ والبته بگم بعد از دانلود به صورت خودکار فایل رو اجرا کن
بازم ممنونم

hosein320
شنبه 11 خرداد 1392, 16:27 عصر
خب باید آدرس فایلتون رو بهش بدین
به طور مثال آدرس ذخیره شدن فایلتون رو درون متغیر S ذخیره کردین
با این دستور فایلتون بعد از دانلود شدن باز میشه
Process.Start(S)

farbod61
شنبه 11 خرداد 1392, 18:54 عصر
ممنونم
ولی قبلش میخوام بدونم چه جوری این فایل کپی شده تو سرور رو توی یه مسیری که از من روی کامپیوتر میپرسه دانلود کنم؟
لطفا مثل روش بالا راهنمایی کنید ، خیلی عالی بود

hosein320
شنبه 11 خرداد 1392, 19:19 عصر
متوجه نشدم درست
ادرس هیچ کدوم از فایلا رو نداری یعنی
میخوای ادرس فایلا رو هم بدست بیاری از نت:متفکر:

farbod61
شنبه 11 خرداد 1392, 21:09 عصر
نه و منظورم استفاده از اون گزینه سیو فایل دایالوگ هستش

hosein320
شنبه 11 خرداد 1392, 22:08 عصر
Dim O As New OpenFileDialog
O.ShowDialog()
My.Computer.Network.DownloadFile("DownloadfileAdress", O.FileName)

farbod61
یک شنبه 12 خرداد 1392, 07:09 صبح
حسین جان من فکر کنم نتونستم درست توضیح بدم
من حالا میخوام یک فایل رو بر اساس یک نامی که توی یک تکست باکس دارم از تو سرور و یک جایی که مشخص کردم برام از سرور دانلود کنه
توی اتوماسیون های اداری دقت کردی یک فایل رو به نامه اتچ میکنند؟ و بعد اون کسی که نامه براش میره میتونه فایل اتچ شده رو دانلود کنه؟ دقیقا مثل اون میخوام
مشکل من ارتباط فایل اتچ شده و اختصاصش به نامه مورد نظرمه که موقع دانلود هم دقیقا بگرده اون رو دانلود کنه از سرور
ببخش تورم اذیتت کردم و واقعا ممنونم برای حوصله و وقتی که میزاری
یک دنیا تشکر

farbod61
یک شنبه 12 خرداد 1392, 07:42 صبح
من الان یه فیلد درست کردم و ادرسی و نام فایلی رو که ذخیره میکنم تو سرور توی اون فیلد ذخیره میشه که در اصل همون
fd = "\\192.169.10.2\App\data\pics\files\" + Me.TextBox13.Text
هستش

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

farbod61
یک شنبه 12 خرداد 1392, 08:59 صبح
الان تو عکس میبینید؟
وقتی میخوام فایل رو ذخیره کنم اسم فایل تو قسمت نام اون نیستش و من باید یه نام از خودم بدم و همچنین فرمت رو هم توش مشخص کنم
چیکار کنم که تو قسمت نام فایل ایم فایل رو بیاره؟
من این قسمت نام رو میتونم با نوشته یک تکست باکس مساوی قرار بدم؟ اگه اره چه جوری؟
راستی یک سوال . چرا توی openfile daialog اگه فایلی رو انتخاب نکنیم و کنسل رو بزنیم برنامه ارور میگیره؟

hosein320
یک شنبه 12 خرداد 1392, 12:15 عصر
سلام

Dim S as string="آدرس فایل دانلودی"
Dim E as string=io.path.GetExtension(S)
Dim N as string=io.path.GetFileNameWithoutExtension(s)
savefledialog1.filename=n & e

:چشمک:

farbod61
یک شنبه 12 خرداد 1392, 13:31 عصر
الان چیشد حسین جان؟ :D
من مبتدیم
یکم ارومتر و نرمتر


یعنی اینجوری؟

Me.SaveFileDialog1.ShowDialog()
Dim S As String = Me.Adress_attTextBox.Text ادرس توی اینجا ذخیره شده از قبل
Dim m As String = IO.Path.GetExtension(S)
Dim N As String = IO.Path.GetFileNameWithoutExtension(S)
SaveFileDialog1.FileName = N & m

hosein320
یک شنبه 12 خرداد 1392, 13:57 عصر
Dim S as string="آدرس فایل دانلودی"
Dim E as string=io.path.GetExtension(S)'پسوند فایل رو میریزه داخل متغیر E
Dim N as string=io.path.GetFileNameWithoutExtension(s)'نا م فایل رو بدون پسوند میریزه داخل متغیر N
savefledialog1.filename=n & e

با این دستور هم نام و پسوند رو با هم میگیره
MsgBox(IO.Path.GetFileName("آدرس"))

این دستور هم یه متن پیشفرض رو مینویسه داخل فایل دیالوگ
savefledialog1.filename="پیشفرض"

farbod61
یک شنبه 12 خرداد 1392, 15:08 عصر
حسین جان
این انصافا این دیگه آخرین سوالمه :D
من گیج نیستما ، اونقدرها هم مبتدی نیستم ولی نمیدونم چرا از این کدا استفاده میکنم یا ارور میگیره یا اتفاقی نمیفته
میشه خواهش کنم یه نمونه سورس کد برام بزارید که با زدن دکمه یه ادرس از ما بپرسه و فایلمون رو از سرور توی اون ادرس کپی کنه
"نام فایل و همچنین ادرس ذخیره شده توی سرور رو توی فیلدای همون ردیف موقع آپلود ذخیره کردم"
آدرس فایل سرور من :
"\\192.169.10.2\App\data\pics\files\"

farbod61
یک شنبه 12 خرداد 1392, 15:34 عصر
حسین جان من الان از این کد استفاده میکنم
بدی این کد اینه که مسیر ذخیره فایل به صورت پیش فرض داخل سورس کد هستش
ولی من میخوام این مسیر رو داخل برنامه از من بپرسه

Dim sourceFileName As String = Me.Adress_attTextBox.Text
Dim destinationFileName As String = "C:\نرم افزار قالب\" + Me.File_nameTextBox.Text
Dim overwrite As Boolean

FileSystem.CopyFile(sourceFileName, destinationFileName, overwrite)

hosein320
یک شنبه 12 خرداد 1392, 16:24 عصر
حسین جان من الان از این کد استفاده میکنم
بدی این کد اینه که مسیر ذخیره فایل به صورت پیش فرض داخل سورس کد هستش
ولی من میخوام این مسیر رو داخل برنامه از من بپرسه

Dim sourceFileName As String = Me.Adress_attTextBox.Text
Dim destinationFileName As String = "C:\نرم افزار قالب\" + Me.File_nameTextBox.Text
Dim overwrite As Boolean

FileSystem.CopyFile(sourceFileName, destinationFileName, overwrite)

Dim sourceFileName As String = Me.Adress_attTextBox.Text
Dim destinationFileName As String =savefiledialog1.filename
Dim overwrite As Boolean

FileSystem.CopyFile(sourceFileName, destinationFileName, overwrite)

farbod61
پنج شنبه 16 خرداد 1392, 09:10 صبح
نشد حسین جان
این کد رو که میزارم از من موقع ذخیره کردن نام و فرمت قایل رو میخواد
من گفتم که فقط محل ذخیره فایل رو از من بپرسه و نام و فرمت رو خودش تو قسمت نام فایل بنویسه
اصلا گیج شدم نمیدونم چرا نمیشه

hosein320
پنج شنبه 16 خرداد 1392, 11:13 صبح
خب شما از FolderBrowserDialog استفاده کن

dim S as string="آدرس فایل دانلودی"
S=FolderBrowserDialog.SelectedPath & "/" & Io.path.Flename(s)

متغیر S میشه ادرس ذخیره روی سیستم شما

shahryari
پنج شنبه 16 خرداد 1392, 11:42 صبح
سلام
این به ذهنم رسید تست کن و نتیجه رو بگو
Dim w As New WebClient
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s As String = "http://myweb.com/test/test.mp3" ' یا "//server/test/test.mp3"
Dim i As Integer = s.LastIndexOf("/") + 1
Dim file_name As String = s.Substring(i, s.Length - i) ' test.mp3
Dim save As New SaveFileDialog
save.FileName = file_name
If save.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim my_path As String = New IO.FileInfo(save.FileName).Directory.FullName
w.DownloadFile(s, my_path & "\" & file_name)
End If
End Sub

shahryari
پنج شنبه 16 خرداد 1392, 11:46 صبح
این هم یک روش دیگر با فولدر براوزر
Dim w As New WebClient
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s As String = "http://myweb.com/test/test.mp3" ' یا "//server/test/test.mp3"
Dim i As Integer = s.LastIndexOf("/") + 1
Dim file_name As String = s.Substring(i, s.Length - i) ' test.mp3
Dim my_folder As New FolderBrowserDialog

If my_folder.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim my_path As String = my_folder.SelectedPath
w.DownloadFile(s, my_path & "\" & file_name)
End If
End Sub

farbod61
یک شنبه 19 خرداد 1392, 12:03 عصر
آقای شهریاری عزیز ممنونم از جوابتون
راه دوم رو تست کردم و جواب داد
یک دنیا تشکر
از زحمتای حسین عزیزم که تا اینجا دنبال قضیه رو گرفتن و کمکم کردن تشکر میکنم