Skip to content

Commit 4ef340b

Browse files
author
garenwang
committed
fix:预览文档新增参数
1 parent a28a7e4 commit 4ef340b

File tree

2 files changed

+101
-75
lines changed

2 files changed

+101
-75
lines changed

QCloudCOSXML/Classes/CI/request/QCloudGetFilePreviewRequest.h

Lines changed: 57 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -59,70 +59,88 @@ NS_ASSUME_NONNULL_BEGIN
5959
*/
6060

6161
@interface QCloudGetFilePreviewRequest : QCloudBizHTTPRequest
62+
6263
/**
63-
设置响应头部中的 Content-Type参数
64-
*/
65-
@property (strong, nonatomic) NSString *responseContentType;
66-
/**
67-
设置响应头部中的Content-Language参数
64+
指定 Object 的 VersionID (在开启多版本的情况下)
6865
*/
69-
@property (strong, nonatomic) NSString *responseContentLanguage;
66+
@property (strong, nonatomic) NSString *versionID;
7067
/**
71-
设置响应头部中的Content-Expires参数
68+
对象名
7269
*/
73-
@property (strong, nonatomic) NSString *responseContentExpires;
70+
@property (strong, nonatomic) NSString *object;
71+
7472
/**
75-
设置响应头部中的Cache-Control参数
76-
*/
77-
@property (strong, nonatomic) NSString *responseCacheControl;
73+
存储桶名
74+
*/
75+
@property (strong, nonatomic) NSString *bucket;
76+
77+
/// 源数据的后缀类型,当前文档转换根据 COS 对象的后缀名来确定源数据类型。当 COS 对象没有后缀名时,
78+
/// 可以设置该值
79+
@property (copy, nonatomic) NSString *srcType;
80+
7881
/**
79-
设置响应头部中的 Content-Disposition 参数。
82+
转换输出目标文件类型:
83+
png,转成 png 格式的图片文件
84+
jpg,转成 jpg 格式的图片文件
85+
pdf,转成 pdf 格式文件。 无法选择页码,page 参数不生效
86+
如果传入的格式未能识别,默认使用 jpg 格式
8087
*/
81-
@property (strong, nonatomic) NSString *responseContentDisposition;
88+
@property (copy, nonatomic) NSString *dstType;
89+
8290
/**
83-
设置响应头部中的 Content-Encoding 参数。
91+
Office 文档的打开密码,如果需要转换有密码的文档,请设置该字段
8492
*/
85-
@property (strong, nonatomic) NSString *responseContentEncoding;
93+
@property (copy, nonatomic) NSString *password;
94+
95+
/// 需转换的文档页码,从1开始计数
96+
@property (assign, nonatomic) NSInteger page;
97+
8698
/**
87-
RFC 2616 中定义的指定文件下载范围,以字节(bytes)为单位
99+
是否隐藏批注和应用修订,默认为0
100+
0:隐藏批注,应用修订
101+
1:显示批注和修订
88102
*/
89-
@property (strong, nonatomic) NSString *range;
103+
@property (copy, nonatomic) NSString * comment;
104+
105+
/****适用于表格文件(Excel)的参数***/
106+
90107
/**
91-
如果文件修改时间晚于指定时间,才返回文件内容。否则返回 412 (not modified)
108+
表格文件参数,转换第 X 个表,默认为1
92109
*/
93-
@property (strong, nonatomic) NSString *ifModifiedSince;
110+
@property (copy, nonatomic) NSString * sheet;
111+
94112
/**
95-
如果文件修改时间早于或等于指定时间,才返回文件内容。否则返回 412 (precondition failed)
113+
表格文件转换纸张方向,0代表垂直方向,非0代表水平方向,默认为0
96114
*/
97-
@property (strong, nonatomic) NSString *ifUnmodifiedModifiedSince;
115+
@property (copy, nonatomic) NSString * excelPaperDirection;
116+
98117
/**
99-
当 ETag 与指定的内容一致,才返回文件。否则返回 412 (precondition failed)
118+
设置纸张(画布)大小,对应信息为: 0 → A4 、 1 → A2 、 2 → A0 ,默认 A4 纸张 (需配合 excelRow 或 excelCol 一起使用)
100119
*/
101-
@property (strong, nonatomic) NSString *ifMatch;
120+
@property (copy, nonatomic) NSString * excelPaperSize;
121+
122+
123+
/****适用于转码成 png/jpg 图片的参数***/
124+
102125
/**
103-
当 ETag 与指定的内容不一致,才返回文件。否则返回 304 (not modified)
126+
转换后的图片处理参数,支持 基础图片处理 所有处理参数,多个处理参数可通过 管道操作符 分隔,从而实现在一次访问中按顺序对图片进行不同处理
104127
*/
105-
@property (strong, nonatomic) NSString *ifNoneMatch;
128+
@property (copy, nonatomic) NSString *ImageParams;
129+
106130
/**
107-
指定 Object 的 VersionID (在开启多版本的情况下)
131+
生成预览图的图片质量,取值范围为 [1, 100],默认值100。 例如取值为100,代表生成图片质量为100%
108132
*/
109-
@property (strong, nonatomic) NSString *versionID;
133+
@property (copy, nonatomic) NSString * quality;
134+
110135
/**
111-
对象名
136+
预览图片的缩放参数,取值范围为 [10, 200], 默认值100。 例如取值为200,代表图片缩放比例为200% 即放大两倍
112137
*/
113-
@property (strong, nonatomic) NSString *object;
138+
@property (copy, nonatomic) NSString * scale;
114139

115140
/**
116-
存储桶名
117-
*/
118-
@property (strong, nonatomic) NSString *bucket;
119-
120-
/// 源数据的后缀类型,当前文档转换根据 COS 对象的后缀名来确定源数据类型。当 COS 对象没有后缀名时,
121-
/// 可以设置该值
122-
@property (copy, nonatomic) NSString *srcType;
123-
124-
/// 需转换的文档页码,从1开始计数
125-
@property (assign, nonatomic) NSInteger page;
141+
按指定 dpi 渲染图片,该参数与 scale 共同作用,取值范围 96-600 ,默认值为 96 。转码后的图片单边宽度需小于65500像素
142+
*/
143+
@property (copy, nonatomic) NSString * imageDpi;
126144

127145
/**
128146

QCloudCOSXML/Classes/CI/request/QCloudGetFilePreviewRequest.m

Lines changed: 44 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -66,42 +66,6 @@ - (BOOL)buildRequestData:(NSError *__autoreleasing *)error {
6666
if (![super buildRequestData:error]) {
6767
return NO;
6868
}
69-
if (self.responseContentType) {
70-
[self.requestData setValue:self.responseContentType forHTTPHeaderField:@"response-content-type"];
71-
}
72-
if (self.responseContentLanguage) {
73-
[self.requestData setValue:self.responseContentLanguage forHTTPHeaderField:@"response-content-language"];
74-
}
75-
if (self.responseContentExpires) {
76-
[self.requestData setValue:self.responseContentExpires forHTTPHeaderField:@"response-expires"];
77-
}
78-
if (self.responseCacheControl) {
79-
[self.requestData setValue:self.responseCacheControl forHTTPHeaderField:@"response-cache-control"];
80-
}
81-
if (self.responseContentDisposition) {
82-
[self.requestData setValue:self.responseContentDisposition forHTTPHeaderField:@"response-content-disposition"];
83-
}
84-
if (self.responseContentEncoding) {
85-
[self.requestData setValue:self.responseContentEncoding forHTTPHeaderField:@"response-content-encoding"];
86-
}
87-
if (self.localCacheDownloadOffset) {
88-
self.range = [NSString stringWithFormat:@"bytes=%lld-", self.localCacheDownloadOffset];
89-
}
90-
if (self.range) {
91-
[self.requestData setValue:self.range forHTTPHeaderField:@"Range"];
92-
}
93-
if (self.ifModifiedSince) {
94-
[self.requestData setValue:self.ifModifiedSince forHTTPHeaderField:@"If-Modified-Since"];
95-
}
96-
if (self.ifUnmodifiedModifiedSince) {
97-
[self.requestData setValue:self.ifUnmodifiedModifiedSince forHTTPHeaderField:@"If-Unmodified-Since"];
98-
}
99-
if (self.ifMatch) {
100-
[self.requestData setValue:self.ifMatch forHTTPHeaderField:@"If-Match"];
101-
}
102-
if (self.ifNoneMatch) {
103-
[self.requestData setValue:self.ifNoneMatch forHTTPHeaderField:@"If-None-Match"];
104-
}
10569
[self.requestData setParameter:self.versionID withKey:@"versionId"];
10670

10771
if (!self.object || ([self.object isKindOfClass:NSString.class] && ((NSString *)self.object).length == 0)) {
@@ -117,7 +81,51 @@ - (BOOL)buildRequestData:(NSError *__autoreleasing *)error {
11781
[self.requestData setQueryStringParamter:@"doc-preview" withKey:@"ci-process"];
11882

11983
[self.requestData setQueryStringParamter:[NSString stringWithFormat:@"%ld", self.page == 0 ? 1 : self.page] withKey:@"page"];
84+
if(self.dstType){
85+
[self.requestData setQueryStringParamter:self.dstType withKey:@"dstType"];
86+
}
87+
88+
if(self.password){
89+
[self.requestData setQueryStringParamter:self.password withKey:@"password"];
90+
}
91+
92+
if(self.comment){
93+
[self.requestData setQueryStringParamter:self.comment withKey:@"comment"];
94+
}
95+
96+
if(self.sheet){
97+
[self.requestData setQueryStringParamter:self.sheet withKey:@"sheet"];
98+
}
99+
100+
if(self.excelPaperDirection){
101+
[self.requestData setQueryStringParamter:self.excelPaperDirection withKey:@"excelPaperDirection"];
102+
}
103+
104+
if(self.excelPaperDirection){
105+
[self.requestData setQueryStringParamter:self.excelPaperDirection withKey:@"excelPaperDirection"];
106+
}
120107

108+
if(self.excelPaperSize){
109+
[self.requestData setQueryStringParamter:self.excelPaperSize withKey:@"excelPaperSize"];
110+
}
111+
112+
if(self.ImageParams){
113+
[self.requestData setQueryStringParamter:self.ImageParams withKey:@"ImageParams"];
114+
}
115+
116+
117+
if(self.quality){
118+
[self.requestData setQueryStringParamter:self.quality withKey:@"quality"];
119+
}
120+
121+
if(self.scale){
122+
[self.requestData setQueryStringParamter:self.scale withKey:@"scale"];
123+
}
124+
125+
if(self.imageDpi){
126+
[self.requestData setQueryStringParamter:self.imageDpi withKey:@"imageDpi"];
127+
}
128+
121129
if (self.srcType != nil) {
122130
[self.requestData setQueryStringParamter:self.srcType withKey:@"srcType"];
123131
}

0 commit comments

Comments
 (0)