c# - Docusign API 为信封中的文档获取字节 []
问题描述
我正在使用 Docusign API 使用 c# 开发 MVC Web 应用程序。这是 Docusign 提供的 REST API。
GET /v2/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}
当我调用这个 HTTP 请求时,Windows 会弹出并要求用户选择文件夹并设置文件名以将文档保存为 PDF 格式。
我想获得byte[]
文档的价值,以便可以将其保存到数据库中的 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;
}
或者你也可以检查
推荐阅读
- java - 如何模拟kafka模板进行单元测试
- python - 在绘制为条形图之前,如何在数据框中添加一周中缺失的几天?
- javascript - 我正在尝试以与 botactivityHandler.js 中的“hello”命令相同的方式在机器人中添加一个额外的“再见”命令我收到错误消息
- ios - 何时在 iOS 中使用动态链接库?在 iOS 中使用动态库有什么好处?
- python - Jupyter Notebook iPython中的乳胶
- ruby-on-rails - Rails Minitest 添加了额外的固定装置
- electron - 电子 NSIS 问题
- javascript - React 没有使用 setState 挂载选项标签
- python - 从(抽象)类属性派生的类属性
- python - 为什么实例对象和类对象之间的方法id不一样?