C#将文件上载到服务器-客户端和服务器端

C#将文件上载到服务器-客户端和服务器端,c#,asp.net,http,C#,Asp.net,Http,我是一名C#游戏程序员,几乎没有网络开发经验 我需要上传一个小文件(25-100字节左右,取决于它的内容)到服务器。这是在WindowsPhone7上使用XNA实现的。目标服务器相当有限,仅支持PHP和经典ASP 由于WP7上的CF只能访问有限的网络命令子集,因此看起来HttpWebRequest针对保存文件的脚本将是最佳选择。我发送的数据大小很小,应该能够作为url中的参数传递 我一直在搜索,但还没有找到一个完整的例子,它同时处理客户端和服务器端脚本(主要是后者)。这与我想要的很接近,只是没有

我是一名C#游戏程序员,几乎没有网络开发经验

我需要上传一个小文件(25-100字节左右,取决于它的内容)到服务器。这是在WindowsPhone7上使用XNA实现的。目标服务器相当有限,仅支持PHP和经典ASP

由于WP7上的CF只能访问有限的网络命令子集,因此看起来HttpWebRequest针对保存文件的脚本将是最佳选择。我发送的数据大小很小,应该能够作为url中的参数传递

我一直在搜索,但还没有找到一个完整的例子,它同时处理客户端和服务器端脚本(主要是后者)。这与我想要的很接近,只是没有提到服务器端脚本:

我得到的最接近的结果是:

但是当尝试使用它时,我得到一个未处理的异常:“远程服务器返回了一个错误:(405)方法不允许”。这种方法似乎是迄今为止最有希望的,但我还没有能够调试它

不幸的是,我实现这一点的时间很短,正如我所说的,我对web开发只是略知一二。我不担心最大的安全性或可伸缩性,因为这是一个临时措施,用于收集内部反馈。基本上,我只需要最快有效的东西


任何帮助都会很棒

我已经解决了。首先,PHP在我的服务器上不受支持(刚刚了解到PHP和ASP不能在同一台服务器上使用,这取决于它是在Linux还是Windows上——就像我说的,这里是web开发noob!)。我切换到ASP,在翻阅文档后,编写了以下脚本:

<%

dim theData, theFileName
set theData=Request("data")
set theFileName=Request("filename")

dim fs,tfile
set fs=Server.CreateObject("Scripting.FileSystemObject")
set tfile=fs.CreateTextFile(Server.MapPath(theFileName+".txt"))
tfile.WriteLine(theData)
tfile.Close
set fname=nothing
set fs=nothing
set theData=nothing
set theFileName=nothing

%>

希望这有助于其他人寻找一个如何做到这一点的例子

但是您的方法是GET而不是POST。通过将文件路径传递给查询字符串,您无法将文件上载到网站。

脚本在浏览器中工作吗?
        const string cAddress = "http://site.com/folder/upload.asp";
        string fileName = foo;
        string data = bar;
        string address = cAddress + "?filename=" + fileName + "&data=" + data;

        uploadRequest = (HttpWebRequest) HttpWebRequest.Create(address);
        uploadRequest.Method = "GET";
        uploadRequest.GetResponse();