作者 yangfu

修改 媒体数据迁移

... ... @@ -2,6 +2,7 @@ package aliyun
import (
"bytes"
"net/url"
"testing"
)
... ... @@ -15,3 +16,28 @@ func Test_GetFile(t *testing.T) {
n, _ := buf.ReadFrom(io)
t.Log("read from reader:", n)
}
func Test_FileUrl(t *testing.T) {
input := []struct {
Module string
Input string
Except string
}{
{
Module: "UrlParse",
Input: "http://mmm-opp-dev.fjmaimaimai.com/file/opp/image/20200106/1578297295_RxJscRHCzQmxeseTAEQXTH7A7ZK6z4Fz.jpg",
Except: "/file/opp/image/20200106/1578297295_RxJscRHCzQmxeseTAEQXTH7A7ZK6z4Fz.jpg",
},
}
urlIn := input[0]
urlRaw, err := url.Parse(urlIn.Input)
if err != nil {
t.Fatal(err)
}
if urlRaw.Path != urlIn.Except {
t.Fatal(urlIn.Module, "Input:", urlIn.Input, "Out:", urlRaw.Path, "Except:", urlIn.Except)
}
urlRaw.Scheme = "https"
//t.Log(urlRaw.String())
}
... ...
... ... @@ -188,6 +188,32 @@ func UploadMediaByURL(urls []string, callBack *CallBack, extend interface{}) (re
return client.UploadMediaByURL(request)
}
//通过oss上传图片
func OssUploadImageByUrl(rawurl string) (response *CreateUploadImageResponse, err error) {
var (
vodc *vod.Client
imageRsp *CreateUploadImageResponse
client *OSSClient
)
u, err := url.Parse(rawurl)
if err != nil {
return
}
imageRsp, err = CreateUploadImage(vodc, &CreateUploadImageRequest{FileName: u.Path})
if err != nil {
return
}
client, err = NewStsOSSClient(imageRsp.UploadAddress, imageRsp.UploadAuth)
if err != nil {
return
}
err = client.PutObjectByUrlDefault(rawurl)
if err != nil {
return
}
return
}
func assertMarsh(v interface{}) string {
data, e := json.Marshal(v)
if e != nil {
... ...
... ... @@ -61,6 +61,7 @@ func MigrateChanceDataToAliYun() {
}
}
//上传图片
func uploadImages(d *models.ChanceData, img string) (rsp []protocol.Picture) {
utils.JsonUnmarshal(img, &rsp)
if len(rsp) == 0 {
... ... @@ -118,6 +119,12 @@ func uploadImages(d *models.ChanceData, img string) (rsp []protocol.Picture) {
return
}
//上班媒体数据
func uploadVoice(d *models.ChanceData, url string) (rp []protocol.Speech) {
//
return nil
}
type ChanceDataExtend struct {
Id int64 `json:"id"`
ChanceId int64 `json:"chance_id"`
... ...