返回介绍

上传文档至 COS v2

发布于 2023-04-06 17:51:15 字数 3115 浏览 0 评论 0 收藏 0

openID 300

调用方执行预导入操作后,需要调用 HTTP 协议的 PUT 方法向 腾讯云 COS (opens new window) 上传文件。

向 COS PUT 文件成功后无响应结果。

本示例给出了如下几种语言向腾讯云 COS 上传文件的代码。

Golang

package main

import (
	"bytes"
	"fmt"
	"io/ioutil"
	"net/http"
)

/*
   需要用到 upload-url 接口的返回值:
   COSPutURL
*/

func main() {
	file := "/root/data/example.docx"
	r, err := ioutil.ReadFile(file)
	if err != nil {
		fmt.Println(err)
		return
	}
	COSPutURL := "https://docs-import-export.cos.ap-guangzhou.myqcloud.com/exampl.docx?xxx"
	req, err := http.NewRequest(http.MethodPut, COSPutURL, bytes.NewReader(r))
	if err != nil {
		fmt.Println(err)
		return
	}
	req.Header.Add("Content-Type", "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
	client := &http.Client{}
	_, err = client.Do(req)
	if err != nil {
		fmt.Println(err)
		return
	}
}

Java

package main;

import java.io.File;
import java.io.IOException;

import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.RequestBody;
import com.squareup.okhttp.Response;

/*
   需要用到 upload-url 接口的返回值:
   COSPutURL
*/

public class CosUploadFile {
    public static void main(String[] args) throws IOException {
        File file = new File("/root/data/example.docx"); // 上传的文件
        OkHttpClient client = new OkHttpClient();
        MediaType mediaType = MediaType.parse("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        RequestBody body = RequestBody.create(mediaType, file);
        Request request = new Request.Builder()
                .url("https://docs-import-export.cos.ap-guangzhou.myqcloud.com/exampl.docx?xxx") // COSPutURL
                .put(body)
                .addHeader("Content-Type", "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
                .build();
        try (Response response = client.newCall(request).execute()) {
            return response.body().string();
        }
    }
}

Python

import requests


# 需要用到 upload-url 接口的返回值 : COSPutURL
def put_file(url, header, file):
    with open(file, 'rb') as f:
        try:
            response = requests.put(url, headers=header, data=f)
        except Exception as e:
            print(str(e))
    return response


if __name__ == '__main__':
    file = '/root/data/example.docx'
    header = {'Content-type': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'}
    COSPutURL = 'https://docs-import-export.cos.ap-guangzhou.myqcloud.com/exampl.docx?xxx'
    res = put_file(COSPutURL, file)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文