gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 16:39:31 26 4
gpt4 key购买 nike

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

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

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

我一直在搜索,但还没有找到一个完整的例子,它处理客户端和服务器端脚本(主要是后者)。这与我正在寻找的很接近,只是它没有提到服务器端脚本:Upload files with HTTPWebrequest (multipart/form-data)

我得到的最接近的是:http://www.johny.org/2007/08/upload-using-c-as-client-and-php-as-server/

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

不幸的是,我只有很短的时间来实现这个,而且正如我所说的,我对网络开发只是略微熟悉。我不担心最大的安全性或可扩展性,因为这是在内部收集反馈的临时措施。基本上,我只需要最快的方法。 ;)

任何帮助都会很棒!

最佳答案

我已经解决了。首先,我的服务器不支持 PHP(刚刚得知 PHP 和 ASP 不能在同一台服务器上使用,这取决于它是在 Linux 还是 Windows 上——就像我说的,网络开发菜鸟在这里!)。我切换到 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

%>

此 C# 代码上传文件:

        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();

希望这有助于其他人寻找如何执行此操作的示例!

关于C# 上传文件到服务器 - 客户端和服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com