<form action="http://s0.filesonic.com/abc" method="post" enctype="multipart/form-data">
    <input type="file" name="files[]" />
    <button type="submit">submit</button>
</form>


上面的代码将文件上传到文件声波服务器,但是我想使用C#以编程方式执行此操作,基本上我的要求是程序创建表单和文件控件,并将文件发送到action属性中提到的F​​ilesonic服务器URL。

我经历了许多链接,但没有成功,我经历了以下链接,但没有成功。

使用HTTPWebrequest上传文件(多部分/表单数据)

最佳答案

以下代码将文件上传到服务器,只要服务器可以在files []数组之外接受它即可。

WebRequest webRequest = WebRequest.Create("http://s0.filesonic.com/abc");
FileStream reader = new FileStream("file_to_upload", FileMode.Open);

byte[] data = new byte[reader.Length];
webRequest.Method = "POST";
webRequest.ContentType = "multipart/form-data";
webRequest.ContentLength = reader.Length;
webRequest.AllowWriteStreamBuffering = "true";

reader.Read(data, 0, reader.Length);

using (var request = webRequest.GetRequestStream())
{
    request.Write(data, 0, data.Length);
    using (var response = webRequest.GetResponse())
    {
        //Do something with response if needed
    }

关于c# - 使用ASP.NET上传文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8155159/

10-17 00:10