[英]Docusign API to get byte[] for document in envelope
我正在使用Docusign API用c#開發MVC Web應用程序。 這是Docusign提供的REST API。
GET /v2/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}
當我調用此HTTP請求時,Windows彈出,要求用戶選擇文件夾並設置文件名以PDF格式保存文檔。
我想獲取文檔的byte[]
值,以便可以將其保存到db中的BLOB中。
有什么方法可以調用此Docusign API來獲取byte[]
嗎? 我是編程新手,任何幫助或建議都會有所幫助。
謝謝。
代碼如下所示:
// GetDocument() API call returns a MemoryStream
MemoryStream docStream = (MemoryStream)envelopesApi.GetDocument(accountId, envelopeId, documentId);
上面的方法使用DocuSign的C#SDK ,請檢查LegacyListDocumentsAndDownloadTest
方法。
要將MemoryStream寫入數據庫:
public static int databaseFilePut(MemoryStream fileToPut) {
int varID = 0;
byte[] file = fileToPut.ToArray();
const string preparedCommand = @"
INSERT INTO [dbo].[Raporty]
([RaportPlik])
VALUES
(@File)
SELECT [RaportID] FROM [dbo].[Raporty]
WHERE [RaportID] = SCOPE_IDENTITY()
";
using (var varConnection = Locale.sqlConnectOneTime(Locale.sqlDataConnectionDetails))
using (var sqlWrite = new SqlCommand(preparedCommand, varConnection)) {
sqlWrite.Parameters.Add("@File", SqlDbType.VarBinary, file.Length).Value = file;
using (var sqlWriteQuery = sqlWrite.ExecuteReader())
while (sqlWriteQuery != null && sqlWriteQuery.Read()) {
varID = sqlWriteQuery["RaportID"] is int ? (int) sqlWriteQuery["RaportID"] : 0;
}
}
return varID;
}
或者你也可以檢查
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.