0

我正在使用 dropnet 将文件上传到保管箱。在那之前,一切都运行良好,但仅适用于上面的小文件。我用来发送的以下代码:

private void btnEnviar_Click(object sender, EventArgs e)
{
    var _client = new DropNetClient("xxxxxxxxxxxxx", "xxxxxxxxxxxxxx", "xxxxxxxxxxxxx", "xxxxxxxxxxxxxxxx");
    _client.UseSandbox = true;

    string arq = "";
    string path = "";
    foreach (DataGridViewRow dr in dgvArquivos.Rows)
    {
        if (dr.Cells[0].Value != null)
        {
            arq = dr.Cells[3].Value.ToString();
            path = "//server/documentos/Scanner_/exames";
            try
            {

                var filebytes = new FileInfo(@path+"/"+arq);
                byte[] content = _client.GetFileContentFromFS(filebytes);
                var result=_client.UploadFile("/exames",arq,content);
                this.lblMsg.Text = result.ToString();
                dr.Cells[4].Value = "17/12/2014";
            }
            catch (Exception ex)
            {

                this.lblMsg.Text= ex.Message.ToString();
            }
        }

    }
}

如何发送平均大于 50mb 的文件?

4

1 回答 1

0

根据您得到的实际错误,答案可能会发生变化。即,如果它的内存不足或来自 API 的 HTTP 错误。

DropNet 确实支持分块上传您可能想要查看的文件。目前它的文档有点缺乏,但查看源代码应该会告诉你如何使用它。https://github.com/DropNet/DropNet/blob/master/DropNet/Client/Files.Sync.cs#L224

调用以StartChunkedUpload开始上传,调用AppendChunkedUpload以将更多字节附加到上传,然后调用CommitChunkedUpload以完成上传。如果可能,将其与文件的流式读取一起使用以减少内存使用。

于 2014-12-21T21:19:45.713 回答