我正在使用dropnet将文件上传到Dropbox。在那之前一切都运行良好,但只适用于它上面的小文件。我正在使用以下代码发送:
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的文件?
答案 0 :(得分:0)
根据实际错误,您获得的答案可能会发生变化。即,如果内存不足或来自API的HTTP错误。
DropNet确实支持您可能想要查看的文件的分块上传。目前的文档有点缺乏,但查看源代码应告诉您如何使用它。 https://github.com/DropNet/DropNet/blob/master/DropNet/Client/Files.Sync.cs#L224
拨打StartChunkedUpload
以开始上传,请致电AppendChunkedUpload
向上传添加更多字节,然后致电CommitChunkedUpload
完成上传。如果可能,请使用此文件的流式读取来减少内存使用量。