我试图从winform桌面应用程序将文本写入服务器上的文件
string path = "http://www.site.info/doc.txt";
使用路径:
System.Web.HttpContext.Current.Server.MapPath(path);
我也尝试过这种方式:
System.Web.Hosting.HostingEnvironment.MapPath(path);
将文本写入文本文档:
using (StreamWriter _testData = new StreamWriter(Server.MapPath("~/doc.txt"), true))
{
_testData.WriteLine("TEXT");
}
好像我做错了什么,
名称
Server
"在当前上下文中不存在"。
不确定如何使用Server.MapPath
。
它位于参考中,System.Web
不是System.Web.dll
,不确定,但必须相同,并且使用System.Web;
我也在使用System.Net;
,所以也许我可以使用WebClient
。
答案 0 :(得分:1)
为什么在Server.MapPath
中使用winform desktop application
。
使用以下内容下载文件:
WebClient webClient = new WebClient();
var filearray = webClient.DownloadData(path);
然后使用
在修改后(如果需要)将其写入本地File.WriteAllBytes(savefilePath, filearray);
然后使用webClient.UploadData(address, filearray)
上传。
答案 1 :(得分:0)
您正在尝试修改服务器上不允许的服务器上的文件,因为这可能会被滥用并损害服务器。您可以通过托管此文本文件的网站更新文件。
应在要修改文件的网站中使用Server.Map路径。如果该文件是asp.net Web表单网站,那么您可以创建一个aspx页面,为您修改文件。如果它是MVC,那么你需要一个Controller中的Action方法来为你修改文件。
如果您想要自己的修改副本,那么您可以下载它并按照Sadiq的建议将其保存在本地Winform应用程序中。您也可以再次上传文件,服务器端必须允许此操作。