将zip文件从winform上载到asp.net

时间:2018-10-16 20:48:32

标签: c# asp.net winforms

我要上传存储在本地计算机上的zip文件,并将其上传到asp.net服务器

到目前为止我尝试了什么?

我尝试将zipfile的纯文本发送到服务器,但是由于zipfile似乎已更改,因此无法正常工作。

所以我想知道的是从WinForm(存储在本地计算机上)向运行asp.net的服务器发送ZipFile的最佳方法是什么

谢谢

1 个答案:

答案 0 :(得分:0)

上传文件.docx.png.pdf.zip之类的文件没有区别。

您可能已经准备好该线程:

Uploading Files in ASP.net without using the FileUpload server control

基本上,它说:

您可以在aspx文件中使用:

<form id="form1" runat="server" enctype="multipart/form-data">
 <input type="file" id="myFile" name="myFile" />
 <asp:Button runat="server" ID="btnUpload" OnClick="btnUploadClick" Text="Upload" />
</form>

在后面的代码中:

protected void btnUploadClick(object sender, EventArgs e)
{
    HttpPostedFile file = Request.Files["myFile"];

    //check file was submitted
    if (file != null && file.ContentLength > 0)
    {
        string fname = Path.GetFileName(file.FileName);
        file.SaveAs(Server.MapPath(Path.Combine("~/App_Data/", fname)));
    }
}

此外,您可以为此设置一个缓冲区,例如:

using (FileStream fs = File.Create("D:\\_Workarea\\" + fileName))
{
    Byte[] buffer = new Byte[32 * 1024];
    int read = context.Request.GetBufferlessInputStream().Read(buffer, 0, buffer.Length);
    while (read > 0)
    {
        fs.Write(buffer, 0, read);
        read = context.Request.GetBufferlessInputStream().Read(buffer, 0, buffer.Length);
    }
} 

或者如此简单,喜欢使用:

 FileInput.PostedFile.SaveAs("~/App_Data/");