Пример #1
0
func main() {
	fmt.Println("Starting PMFS")
	// Mount a memory root file system
	// Add some content, read it back
	var f fs.RootFileSystem
	var mh memory.MemoryFileSystem

	f.Init(&mh, "")
	go func() {
		for msg := range f.Notification {
			fmt.Println(msg)
		}
	}()
	f.Format(100, 100)
	f.WriteFile("/test/alan", []byte("Hello world this is a test"))
	f.AppendFile("/test/alan", []byte("\nThis is line 2, part of version 2"))
	f.AppendFile("/test/other", []byte("\nA new file"))
	f.AppendFile("/other/one", []byte("\nHere we go again"))
	f.AppendFile("/other/three", []byte("\nHello world"))

	names, _ := f.ListDirectory("/test")
	for y := range names {
		fmt.Println(names[y])
	}

	x, err := f.ReadFile("/test/alan")
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("Data is %v\n", string(x))
	}

	fn, e2 := f.StatFile("/test/alan")
	if e2 != nil {
		fmt.Println(e2)
	} else {
		stats := fn.Stats
		fmt.Printf("Created : %v\nModified : %v\nAccessed : %v\n", stats.Created, stats.Modified, stats.Accessed)
	}

	go web.StartAPIServer(&f)
	web.StartWebServer()
}
Пример #2
0
// Add a new file, with optional content, optional mime type
func addFileFunc(w http.ResponseWriter, r *http.Request, filesys *fs.RootFileSystem) {
	filesys.WriteFile(r.URL.Path, []byte(r.Form["data"][0]))
	getFunc(w, r, filesys)
}