使用 go 语言帮我写一个 Oracl 对象存储服务上传文件的程序
时间: 2023-05-11 20:05:29 浏览: 102
好的,以下是使用 Go 语言编写的 Oracl 对象存储服务上传文件的程序:
```
package main
import (
"fmt"
"io/ioutil"
"net/http"
"os"
)
func main() {
file, err := os.Open("file.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
fileInfo, err := file.Stat()
if err != nil {
fmt.Println(err)
return
}
fileBytes, err := ioutil.ReadAll(file)
if err != nil {
fmt.Println(err)
return
}
req, err := http.NewRequest("PUT", "https://objectstorage.us-phoenix-1.oraclecloud.com/n/mybucket/b/myobject", bytes.NewReader(fileBytes))
if err != nil {
fmt.Println(err)
return
}
req.Header.Set("Content-Type", "text/plain")
req.Header.Set("Content-Length", fmt.Sprintf("%d", fileInfo.Size()))
req.Header.Set("Authorization", "Bearer mytoken")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
fmt.Println(resp.Status)
}
```
请注意,此代码中的 "mybucket" 和 "myobject" 应替换为您自己的存储桶和对象名称,"mytoken" 应替换为您的 Oracl 对象存储服务的访问令牌。
阅读全文