sql-server - 从sql存储过程下载原始pdf文件时如何处理pdf?
问题描述
我可以从存储过程中下载小的纯文本 pdf 文件,但复杂的 pdf 文件看起来会被截断。我正在将 resultText 读入一个 varchar(max) 的表中,所以不确定为什么大文件被截断。有没有解决的办法?
MSSQL 存储过程调用 URL 下载 pdf,@WorkingURI 是 2 页的 pdf 文件,但体积很小。@NotWorkingURI 被切断。
declare
@WorkingURI varchar(100),
@NotWorkingURI varchar(100)
CREATE TABLE #ResponseMax
(
MaxString VARCHAR(MAX)
)
SET @WorkingURI = 'http://www.africau.edu/images/default/sample.pdf'
SET @NotWorkingURI = 'http://www.pdf995.com/samples/pdf.pdf'
EXEC @hResult = sp_OAMethod @objectID, 'open', null, 'GET', @NotWorkingURI,'false', NULL, NULL
EXEC @hResult = sp_OAMethod @objectID, 'setRequestHeader', null, 'Content-Type', 'text/xml'
-- send the request
EXEC @hResult = sp_OAMethod @objectID, 'send', null, ''
declare @statusText varchar(1000), @status varchar(1000)
-- Get status text
exec sp_OAGetProperty @objectID, 'StatusText', @statusText out
exec sp_OAGetProperty @objectID, 'Status', @status out
select @status, @statusText
INSERT INTO #ResponseMax ( MaxString )
exec sp_OAGetProperty @objectID, 'responseText'
select *
from #ResponseMax
根据 pdf 文件,有时我会得到完整的 pdf,并在 responseText 的末尾加上“%%EOF”,有时我会得到一个看起来像是被类似于二进制字符串的特殊字符截断的字符串(但不完整)。它似乎与文件的大小有关。
解决方案
推荐阅读
- node.js - 使用 Postman 将数据发送到 Google Cloud Function
- rust - 盒子如何
解构自己? - ios - 如何修复 Swift 中的“线程 1:致命错误:在隐式展开可选值时意外发现 nil”错误?
- laravel - 登录 laravel 网站
- postgresql - 使用 boto3 将枚举类型插入 aurora postgres
- verilog - 有效断言在 req-ack 事务中出现一次
- node.js - 快速会话 req.session 不持久
- visual-studio-code - 在 VSCode 中移动火车
- c - 是否可以反序列化 .ser 文件并将该数据用作 C 中的输入?
- javascript - Angular Slider - 'value' does not exist on type 'HTMLElement'