繁体   English   中英

Docusign API获取信封中文档的byte []

[英]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;
    }

或者你也可以检查

如何存储和读取字节数组2579373

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM