コアサーバーV2プランご契約でドメイン更新費用が永久無料

Go言語, Web dev

[github] https://github.com/chronos2015/samples/tree/master/golang/04.webdev

package main

import (
	"fmt"
	"os"

	"github.com/studio-b12/gowebdav"
)

func main() {
	fmt.Println("start")

	client := gowebdav.NewClient("接続URL", "ログインID", "パスワード")
	err := client.Connect()
	if err != nil {
		panic(err)
	}

	// ファイル一覧
	// /から始まる絶対パスを指定すべきらしい
	list, err := client.ReadDir("/")
	if err != nil {
		panic(err)
	}
	for i, file := range list {
		fmt.Printf("%02d,%s\n", i, file.Name())
	}

	// フォルダ作成
	// ※存在するフォルダを再度作成してもエラーにならない.
	// ※ファイルが存在するフォルダを再作成しても問題なし
	err = client.Mkdir("cyndi", 0755)
	if err != nil {
		panic(err)
	}

	// ファイル書き込み
	// ※存在しないフォルダに書き込むとエラーになる.
	err = client.Write("/first.txt", []byte("おはよう"), 0755)
	if err != nil {
		panic(err)
	}

	// ファイル読み込み
	// ファイルが存在しない場合に対応
	data, err := client.Read("/first.txt")
	if err != nil {
		if _, ok := err.(*os.PathError); ok {
			data = []byte{}
		} else {
			panic(err)
		}
	}
	fmt.Printf("%s\n", data)

	// ファイル名変更
	err = client.Rename("/first.txt", "/secound.txt", false)
	if err != nil {
		panic(err)
	}

	fmt.Println("end")
}

コメントを残す

メールアドレスが公開されることはありません。