(Write File On Server Using C#) سورس نوشتن در فایل قرار گرفته شده در سرور با سی شارپ
در این پست می کد نوشتن در فایل قرار گرفته شده در سرور را به زبان سی شارپ قرار دادیم. با این روش می توان یک فایل log در سرور ساخت و یا اینکه کارهای دیگری را انجام داد. سورس کد نوشتن در فایل روی سرور و توضیحات آن در ادامه مطلب آمده است.
برای نوشتن در فایلی که در سرور قرار دارد باید بصورت بایت به بایت از سمت کلاینت به سرور انتقال پیدا کند. ما برای اینکه بخواهیم یک سری رشته یا کاراکتر را برروی سرور بنویسیم رشته ها را در یک فایل txt قرار می دهیم و این فایل را بایت به بایت خوانده و برروی سرور می نویسیم و فایلی که رشته ها موفقتاً در آن قرار گرفته را حذف می کنیم.
/* write Information into Server
Kazem Sadeghi Firozjah*/
using (TextWriter writer = File.CreateText(“data.txt”))
{
writer.WriteLine(“رشته مورد نظر”+”\n”);
}
AppendFileOnServer(“data.txt”, new Uri(“ftp://dl.iranidata.com/file.txt”));
File.Delete(“data.txt”);
در کد بالا از رشته n\ برای ساخت خط جدید استفاده کرده ایم و در ادامه نیز از تابع AppendFileOnServer استفاده کرده ایم که در کد این فانکشن را در پایین می بینید.
public static bool AppendFileOnServer(string fileName, Uri serverUri)
{
// The URI described by serverUri should use the ftp:// scheme.
// It contains the name of the file on the server.
// Example: ftp://dl.iranidata.com/someFile.txt.
// The fileName parameter identifies the file containing
// the data to be appended to the file on the server.
if (serverUri.Scheme != Uri.UriSchemeFtp)
{
return false;
}
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.AppendFile;
StreamReader sourceStream = new StreamReader(fileName);
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential(“username”, “pass”);
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine(“Append status: {0}”, response.StatusDescription);
response.Close();
return true;
}
حال با استفاده از کد های بالا براحتی می توان یک رشته را در سرور نوشت.
نکته : سورس کد بالا برای Append کردن برروی فایل است ، یعنی نوشته های قبلی را حذف نمی کند و رشته های جدید را به آن اضافه می کند.
برای در خواست کدهای مربوط به سی شارپ ، ASP.NET ، PHP و دیگر زبان های برنامه نوسی بصورت پیام برای ما ارسال نمایید.
نوشته شده توسط کاظم صادقی فیروزجاه