日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔預覽

文檔預覽功能支持表格文件、文字文件、演示文件以及pdf文件的在線預覽,便于您進行文檔內容管理與訪問。

重要

智能媒體管理(IMM)后續新增功能、優化均以新版為主,舊版將逐步下線。為了您有更好的使用體驗,建議您使用新版的智能媒體管理(IMM)提供的文檔在線預覽功能。關于智能媒體管理新版與舊版的對比,請參見新舊版本使用指引

前提條件

  • 已開通智能媒體管理IMM,并在OSS中綁定IMM。具體操作,請參見快速入門

  • 如果您通過RAM用戶使用IMM相關功能,需確保RAM用戶擁有以下權限。

    • 系統權限:AliyunOSSReadOnlyAccessAliyunIMMFullAccess

      關于為RAM用戶授權的具體操作,請參見RAM用戶授權

    • 自定義權限:oss:ProcessImmram:GetRole

      RAM用戶授予自定義權限時,您需要先創建對應的自定義權限,然后為RAM用戶授權。具體操作,請參見RAM用戶授予自定義的權限策略

注意事項

  • 支持在線預覽的文件類型

    • 表格文件:et、xls、xlt、xlsx、xlsm、xltx、xltm、csv

    • 文字文件:doc、docx、txt、dot、wps、wpt、dotx、docm、dotm、rtf

    • 演示文件:ppt、pptx、pptm、ppsx、ppsm、pps、potx、potm、dpt、dps

    • pdf文件:pdf

  • 文件大小限制

    不支持在線預覽大于200 MB的文件。

  • 預覽的方式

    無論請求預覽的文檔讀寫權限為公共讀或私有,都需要通過AccessKey ID、AccessKey Secret簽名后得到的URL進行預覽訪問。

  • 費用說明

    本文的文檔預覽操作使用IMM文檔預覽V1接口,關于該接口的計費,請參見IMM舊版產品計費說明

參數

操作名稱:imm/previewdoc

參數說明如下:

名稱

描述

copy

指定預覽文檔時是否支持復制內容。取值如下:

1:支持復制文檔內容。

0:不支持復制文檔內容。

流程介紹

image

文檔預覽流程如下:

  1. 客戶端App或者Web端向業務服務器發起預覽請求,并提供要預覽的文件名。

  2. 業務服務器根據請求文件進行URL簽名,將簽名完成的URL提供給客戶端App或者Web端。

  3. 客戶端App或者Web端通過簽名URL直接預覽訪問OSS文件。

    重要

    不支持通過簽名URL直接預覽已加密的文件。您可以通過以下步驟預覽加密的文件:

    1. 通過JavaScript API設置加密文件解密流程。具體步驟,請參見設置加密文件解密流程

    2. 調用智能媒體管理的CreateOfficeConversionTask接口,將原始文檔轉換為VECTOR向量格式輸出到指定的OSS目錄。

使用阿里云SDK

生成帶簽名的文檔預覽URL與生成帶簽名的圖片處理URL方法類似,僅需將圖片處理的操作改為文檔預覽操作即可。

下僅列舉常見SDK的生成帶簽名的文檔預覽URL的代碼示例。關于其他SDK的生成帶簽名的文檔預覽URL代碼示例,請參見SDK簡介

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.model.GeneratePresignedUrlRequest;
import java.net.URL;
import java.util.Date;

public class Demo {
    public static void main(String[] args) throws Throwable {
        // Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // 強烈建議不要把訪問憑證保存到工程代碼里,否則可能導致訪問憑證泄露,威脅您賬號下所有資源的安全。本代碼示例以從環境變量中獲取訪問憑證為例。運行本代碼示例之前,請先配置環境變量。
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // 填寫Bucket名稱,例如examplebucket。
        String bucketName = "examplebucket";
        // 填寫Object完整路徑,完整路徑中不能包含Bucket名稱。
        String objectName = "exampledir/exampleobject.txt";

        // 創建OSSClient實例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

        try {
            // 設置樣式,樣式中包含文檔預覽參數。
            String style = "imm/previewdoc,copy_1";
            // 指定簽名URL過期時間為10分鐘。
            Date expiration = new Date(new Date().getTime() + 1000 * 60 * 10 );
            GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, objectName, HttpMethod.GET);
            req.setExpiration(expiration);
            req.setProcess(style);
            URL signedUrl = ossClient.generatePresignedUrl(req);
            System.out.println(signedUrl);
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\OssClient;

// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
$accessKeyId = getenv("OSS_ACCESS_KEY_ID");
$accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET");
// yourEndpoint填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
$endpoint = "yourEndpoint";
// 填寫Bucket名稱,例如examplebucket。
$bucket= "examplebucket";
// 填寫請求預覽的文檔完整路徑,完整路徑中不包含Bucket名稱。
$object = "exampledir/exampleobject.txt";

$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);

// 生成一個帶圖片處理參數的簽名的URL,有效期是3600秒,可以直接使用瀏覽器訪問。
$timeout = 3600;

$options = array(
    // 設置樣式,樣式中包含文檔預覽參數。
    OssClient::OSS_PROCESS => "imm/previewdoc,copy_1" );

$signedUrl = $ossClient->signUrl($bucket, $object, $timeout, "GET", $options);
print("rtmp url: \n" . $signedUrl);  
const OSS = require('ali-oss');

const client = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourregion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  // yourbucketname填寫存儲空間名稱。
  bucket: 'yourbucketname'
});
// 設置樣式,樣式中包含文檔預覽參數。
// 生成帶簽名的URL,并指定過期時間為10分鐘。
const signUrl = client.signatureUrl('exampledir/exampleobject.txt', {expires: 600, 'process' : 'imm/previewdoc,copy_1'});
console.log("signUrl="+signUrl);
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# yourEndpoint填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
# 填寫Bucket名稱,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')
# 填寫請求預覽的文檔完整路徑,完整路徑中不包含Bucket名稱。
key = 'example.txt'

# 如果文件不在指定Bucket內,需將該圖片上傳到目標Bucket。
# bucket.put_object_from_file(key, 'D:\\localpath\\example.txt')
# 設置樣式,樣式中包含文檔預覽參數。
style = 'imm/previewdoc,copy_1'
# 生成帶簽名的URL,并指定過期時間為10分鐘。過期時間單位為秒。
url = bucket.sign_url('GET', key, 10 * 60, params={'x-oss-process': style})
print(url)
using Aliyun.OSS;
using Aliyun.OSS.Common;

// yourEndpoint填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
var endpoint = "yourEndpoint";
// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// 指定圖片所在Bucket的名稱,例如examplebucket。
var bucketName = "examplebucket";
// 填寫請求預覽的文檔完整路徑,完整路徑中不包含Bucket名稱。
var objectName = "exampledir/exampleobject.txt";
// 創建OSSClient實例。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
    // 設置樣式,樣式中包含文檔預覽參數。
    var process = "imm/previewdoc,copy_1";
    var req = new GeneratePresignedUriRequest(bucketName, objectName, SignHttpMethod.Get)
    {
        Expiration = DateTime.Now.AddHours(1),
        Process = process
    };
    // 生成帶有簽名的URI。
    var uri = client.GeneratePresignedUri(req);
    Console.WriteLine("Generate Presigned Uri:{0} with process:{1} succeeded ", uri, process);
}
catch (OssException ex)
{
    Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
        ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
    Console.WriteLine("Failed with error info: {0}", ex.Message);
}
// 填寫Bucket名稱,例如examplebucket。
String bucketName = "examplebucket";
// 填寫不包含Bucket名稱在內源Object的完整路徑,例如exampleobject.txt。
String objectKey = "exampleobject.txt";
String url = null;
// 設置樣式,樣式中包含文檔預覽參數。
String style = "imm/previewdoc,copy_1";
try {
    // 生成用于上傳文件的簽名URL。
    GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, objectKey);
    // 設置簽名URL的過期時間為30分鐘。
    request.setExpiration(30*60);
    request.setProcess(style);
    url = oss.presignConstrainedObjectURL(request);
    Log.d("url", url);
} catch (ClientException e) {
    e.printStackTrace();
}
package main

    import (
        "fmt"
        "os"
        "github.com/aliyun/aliyun-oss-go-sdk/oss"
    )

func main() {
    /// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err != nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }

    // 創建OSSClient實例。
    // yourEndpoint填寫Bucket對應的Endpoint,以華東1(杭州)為例,填寫為https://oss-cn-hangzhou.aliyuncs.com。其它Region請按實際情況填寫。
    client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
    if err != nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }

    // 指定圖片所在Bucket的名稱,例如examplebucket。
    bucketName := "examplebucket"
    bucket, err := client.Bucket(bucketName)
    if err != nil {
    HandleError(err)
    }
    // 填寫請求預覽的文檔完整路徑,完整路徑中不包含Bucket名稱。
    ossImageName := "exampledir/exampleobject.txt"
    // 設置樣式,樣式中包含文檔預覽參數。
    // 生成帶簽名的URL,并指定過期時間為600s。
    signedURL, err := bucket.SignURL(ossImageName, oss.HTTPGet, 600, oss.Process("imm/previewdoc,copy_1"))
    if err != nil {
    HandleError(err)
    } else {
    fmt.Println(signedURL)
    }
}
// 指定圖片所在Bucket的名稱,例如examplebucket。
NSString *bucketName = @"examplebucket";
// 填寫請求預覽的文檔完整路徑,完整路徑中不包含Bucket名稱。
NSString *objectKey = @"exampleobject.txt";
NSString *method = @"GET";
// 設置樣式,樣式中包含文檔預覽參數。
NSDictionary *params = @{@"x-oss-process": @"imm/previewdoc%2Ccopy_1"};
// 生成帶簽名的URL,并指定過期時間為30分鐘。
OSSTask *ossTask = [client presignConstrainURLWithBucketName:bucketName
                                               withObjectKey:objectKey
                                                  httpMethod:method
                                      withExpirationInterval:30 * 60
                                              withParameters:params];

[ossTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    if (!task.error) {
        NSString *url = task.result;
        NSLog(@"url: %@", url);
    } else {
        NSLog(@"error: %@", task.error);
    }
    return nil;
}];
#include <alibabacloud/oss/OssClient.h>
using namespace AlibabaCloud::OSS;

int main(void)
{
    /* 初始化OSS賬號信息。*/
            
    /* 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。*/
    std::string Endpoint = "yourEndpoint";
    /* 填寫圖片所在的Bucket名稱,例如examplebucket。*/
    std::string BucketName = "examplebucket";
    /* 填寫請求預覽的文檔完整路徑,完整路徑中不包含Bucket名稱。
    std::string ObjectName = "exampledir/exampleobject.txt";

      /* 初始化網絡等資源。*/
    InitializeSdk();

    ClientConfiguration conf;
    /* 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。*/
    auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
    OssClient client(Endpoint, credentialsProvider, conf);


    /* 設置樣式,樣式中包含文檔預覽參數。*/
    std::string Process = "imm/previewdoc,copy_1";
    GeneratePresignedUrlRequest request(BucketName, ObjectName, Http::Get);
    request.setProcess(Process);
    auto outcome = client.GeneratePresignedUrl(request);

    /* 釋放網絡等資源。*/
    ShutdownSdk();
    return 0;
}
#include "oss_api.h"
#include "aos_http_io.h"
/* 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。*/
const char *endpoint = "yourEndpoint";
/* 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。*/  
const char *access_key_id = getenv("OSS_ACCESS_KEY_ID");
const char *access_key_secret = getenv("OSS_ACCESS_KEY_SECRET");
/* 填寫圖片所在的Bucket名稱,例如examplebucket。*/
const char *bucket_name = "examplebucket";
/* 填寫請求預覽的文檔完整路徑,完整路徑中不包含Bucket名稱。
const char *object_name = "exampledir/exampleobject.txt";
void init_options(oss_request_options_t *options)
{
    options->config = oss_config_create(options->pool);
    /* 用char*類型的字符串初始化aos_string_t類型。*/
    aos_str_set(&options->config->endpoint, endpoint);
    aos_str_set(&options->config->access_key_id, access_key_id);
    aos_str_set(&options->config->access_key_secret, access_key_secret);
    /* 是否使用了CNAME。0表示不使用。*/
    options->config->is_cname = 0;
    /* 設置網絡相關參數,比如超時時間等。*/
    options->ctl = aos_http_controller_create(options->pool, 0);
}
int main(int argc, char *argv[])
{
    /* 在程序入口調用aos_http_io_initialize方法來初始化網絡、內存等全局資源。*/
    if (aos_http_io_initialize(NULL, 0) != AOSE_OK) {
        exit(1);
    }
    /* 用于內存管理的內存池(pool),等價于apr_pool_t。其實現代碼在apr庫中。*/
    aos_pool_t *pool;
    /* 重新創建一個內存池,第二個參數是NULL,表示沒有繼承其它內存池。*/
    aos_pool_create(&pool, NULL);
    /* 創建并初始化options,該參數包括endpoint、access_key_id、acces_key_secret、is_cname、 curl等全局配置信息。*/
    oss_request_options_t *oss_client_options;
    /* 在內存池中分配內存給options。*/
    oss_client_options = oss_request_options_create(pool);
    /* 初始化Client的選項oss_client_options。*/
    init_options(oss_client_options);
    /* 初始化參數。*/
    aos_string_t bucket;
    aos_string_t object;
    aos_table_t *params = NULL;
    aos_http_request_t *req;
    char *url_str;
    apr_time_t now;
    int64_t expire_time; 
    aos_str_set(&bucket, bucket_name);
    aos_str_set(&object, object_name);
    /* 設置樣式,樣式中包含文檔預覽參數。*/
    params = aos_table_make(pool, 1);
    apr_table_set(params, OSS_PROCESS, "imm/previewdoc,copy_1");
    req = aos_http_request_create(pool);
    req->method = HTTP_GET;
    req->query_params = params;
    /* 指定過期時間(expire_time),單位為秒。*/
    now = apr_time_now();
    expire_time = now / 1000000 + 10 * 60;
    /* 生成簽名url。*/
    url_str = oss_gen_signed_url(oss_client_options, &bucket, &object, expire_time, req);
    printf("url: %s\n", url_str);
    /* 釋放該內存池,相當于釋放了請求過程中各資源分配的內存。*/
    aos_pool_destroy(pool);
    /* 釋放之前分配的全局資源。*/
    aos_http_io_deinitialize();
    return 0;
}

常見問題

是否支持打印在線預覽的文件?

您可以通過以下兩種方式打印在線預覽的文件:

  • 將在線預覽文件下載到本地后打印。

  • 使用IMM的文檔在線協作功能在線打印預覽的文件。具體步驟,請參見打印

生命帶簽名的文檔URL報錯The resource Project cannot be found. bucket does not bind any project.

  • 問題原因:當前Bucket未綁定IMM Project。

  • 解決方法:將當前Bucket綁定IMM Project。具體步驟,請參見綁定IMM

PPT超過200頁時不能預覽怎么辦?

通常情況下,IMM文檔預覽V1版本支持穩定預覽的頁數為200頁,如果您需要預覽超過200頁的文檔,建議使用IMM文檔預覽V2版本。更多信息,請參見快速入門

如何設置預覽接口不允許復制?

Java SDK為例,您可以設置樣式,樣式中包含文檔預覽參數,例如:String style = "imm/previewdoc,copy_0"。copy0表示預覽接口不允許復制。

文檔預覽時是否支持添加水印?

文檔預覽不支持添加水印。如果您需要預覽添加水印的文檔,您可以先使用智能媒體管理為文檔添加水印,然后再預覽文檔。如何為文檔添加水印,請參見添加水印

開啟CDN后生成帶簽名的文檔URL報錯Either the Signature query string parameter or the Authorization header should be specified, not both.

如果您在私有 Bucket 開啟回源功能后,通過 CDN 域名訪問已綁定至 IMM 項目的 Bucket 中的文件,無需提供額外的簽名信息。請按照以下要求進行配置:

  1. 授權默認角色 您需要為CDN的默認角色 AliyunCDNAccessingPrivateOSSRole授予 oss:ProcessImm 權限。

  2. 訪問資源時,應使用不包含簽名信息的 URL。

    例如,您可以使用如下格式的URL:http://cdn.example.info/demo.ppt?x-oss-process=imm/previewdoc使用文檔在線預覽功能。