مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

payam64

عضویت از 1397/01/14

آپلود کردن فایل بر روی هاست دانلود

  • یکشنبه 3 آذر 1398
  • 18:03
تشکر میکنم

سلام من یک پروژه asp.net mvc دارم که به دلیل زیاد شدن حجم فیلم های سایت مجبور به تهیه یک هاست دانلود cpanel شدم حالا برای آپلود فایل ها بر روی هاست دانلود به مشکل خوردم ممنون میشم راهنمایی کنین

WebClient wc = new WebClient();
NetworkCredential nc = new NetworkCredential("username", "pass");
Uri remoteUri = new Uri(@"\\my-server-ip\Content\movie\ClassOnline\" + Guid.NewGuid() + "-" + Path.GetExtension(file.FileName));
wc.Credentials = nc;
file.SaveAs(HttpContext.Current.Server.MapPath("~/Content/movie/" + file.FileName));
byte[] result = wc.UploadFile(remoteUri, HttpContext.Current.Server.MapPath("~/Content/movie/" + file.FileName));

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

payam64

عضویت از 1397/01/14

  • یکشنبه 3 آذر 1398
  • 18:08

اما متن خطا که یادم رفت     The network path was not found  

کاربر سایت

payam64

عضویت از 1397/01/14

  • چهارشنبه 13 آذر 1398
  • 20:33

راه حل مشکلم رو پیدا کردم امیدوارم به درد بقیه هم بخوره

برای اینکار شما باید یک حساب ftp بر روی هاست دانلود که معمولا سی پنل هست درست کنید و مشخصاتشو بهتره در فایل web.config ذخیره کنین به عنوان مثال 

<appSettings>
    <add key="ftp_user" value="ftp_username"/>
    <add key="ftp_pass" value="ftp_pass"/>
    <add key="ftp_server" value="ftp_sever"/>
</appSettings>

متد اصلی برای آپلود فایلها

var ftpUserName = ConfigurationManager.AppSettings["ftp_user"];
var ftpPass = ConfigurationManager.AppSettings["ftp_pass"];

var request = (FtpWebRequest)WebRequest.Create(new Uri(ftpFilePath));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(ftpUserName, ftpPass);
request.Timeout = 10000000;
request.UseBinary = true;
request.UsePassive = true;
request.KeepAlive = false;
request.ConnectionGroupName = "group";

using (FileStream fs = File.OpenRead(filePath))
            {
                byte[] buffer = new byte[fs.Length];
                fs.Read(buffer, 0, buffer.Length);
                fs.Close();
                Stream requestStream = request.GetRequestStream();
                requestStream.Write(buffer, 0, buffer.Length);
                //requestStream.Flush();
                requestStream.Close();
            }

کاربرانی که از این پست تشکر کرده اند

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

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)