Rumah >pembangunan bahagian belakang >Golang >Pemprosesan fail aplikasi web pembelajaran Golang
Dengan perkembangan teknologi Internet yang berterusan, permintaan untuk aplikasi Web juga semakin meningkat. Dalam proses pembangunan aplikasi web, selalunya perlu untuk mengendalikan operasi fail dan direktori, seperti memuat naik fail, memuat turun fail, melihat senarai fail, dsb. Dalam bahasa Golang, pemprosesan fail adalah titik pengetahuan yang sangat asas dan bahagian yang sangat diperlukan dalam membangunkan aplikasi web. Artikel ini akan memperkenalkan cara Golang mengendalikan operasi fail dalam aplikasi web.
1. Operasi fail
Operasi fail di Golang dilaksanakan terutamanya melalui pakej os. Pakej os terutamanya menyediakan fungsi operasi fail dan direktori berikut:
1 Cipta fail atau direktori
Nama fungsi: os.Create(rentetan nama) (*os.Fail, ralat)
Tujuan fungsi : Cipta fail bernama nama Jika fail itu tidak wujud, buatnya Jika ia wujud, kosongkan fail
Nama fungsi: os.Mkdir(rentetan nama, perm os.FileMode) ralat<.>Tujuan fungsi : Buat direktori bernama nama, parameter perm menentukan kebenaran direktori
Tujuan fungsi: Buat a direktori berbilang peringkat, Jika direktori sudah wujud, tiada operasi dilakukan
Nama fungsi: os.Buka(rentetan nama) (*os.Fail, ralat)
Tujuan fungsi: Buka nama ialah fail yang dinamakan, jika fail tidak wujud, ralat akan dikembalikan
Nama fungsi: os.Remove(name string) error.
Tujuan fungsi: Padamkan fail bernama fail atau direktori, jika fail atau direktori tidak wujud, ralat akan dikembalikan
Fungsi tujuan: Padam direktori berbilang peringkat, jika direktori itu tidak wujud, maka Kembalikan ralat
Nama fungsi: os.ReadDir(rentetan nama) ([]os.DirEntry, ralat. )
Tujuan fungsi: Baca semua fail di bawah nama direktori dan maklumat Direktori, mengembalikan kepingan jenis os.DirEntry
<input type="file" name="uploadfile" /> <input type="submit" value="上传文件" />e083986a812e016ef20466f844ca74652. Dalam kod bahagian belakang, dapatkan maklumat fail yang dimuat naikfail, pengendali, err : = r.FormFile("uploadfile")
if err != nil {
//处理错误信息}di mana r ialah pembolehubah http.Permintaan jenis maklumat boleh diperolehi melalui r.Fungsi FormFile Jika pemerolehan gagal, mesej ralat akan dikembalikan. 3. Simpan fail yang dimuat naik keluar, err := os.Create("./uploads/" + handler.Filename)
if err != nil {
//处理错误信息}tangguh keluar.Tutup()_, err = io.Salin(keluar, fail)
jika err != tiada {
//处理错误信息}Selepas mendapatkan maklumat fail, anda perlu mencipta fail output, dan kemudian tulis kandungan fail yang dimuat naik ke dalam fail output melalui fungsi io.Copy untuk melengkapkan operasi menyimpan fail. 3. Muat Turun FailSelain muat naik fail, muat turun fail juga merupakan keperluan fungsi biasa dalam aplikasi Web Kaedah pelaksanaan khusus adalah seperti berikut: 1. Melalui protokol HTTP Hantar failnama fail := "./uploads/examplefile.txt"f, err := os.Open(filename)
if err != nil {
//处理错误信息}
tunda f.Close()
if _, err := f.Read(header); != nil {
//处理错误信息}fileStat, err := f.Stat()
if err != nil {
//处理错误信息}w. Header().Set("Content-Disposition", "attachment; filename="+filename)
w.Header().Set("Content-Type", http.DetectContentType(header))
w. Header().Set("Content-Length", strconv.FormatInt(fileStat.Size(), 10))
io.Copy(w , f)
if err != nil {
//处理错误信息} 2. Lintas fail Senarai dan paparkan untuk _, d := range dir {
if !d.IsDir() { fmt.Fprintf(w, "<a href="/download?file=%s">%s</a><br>", d.Name(), d.Name()) }}Dalam contoh ini, senarai fail dalam direktori yang ditentukan diperolehi melalui fungsi os.ReadDir, Kemudian senarai fail dipaparkan pada halaman Web melalui operasi traversal, dan pautan muat turun fail disediakan. 5. RingkasanMelalui pengenalan artikel ini, kita dapat melihat bahawa operasi fail dalam bahasa Golang adalah sangat asas, tetapi ia adalah titik pengetahuan penting untuk membangunkan aplikasi web. Muat naik fail, muat turun dan paparan senarai adalah keperluan operasi fail biasa Dalam pembangunan sebenar, kaedah di atas perlu digunakan secara fleksibel untuk memenuhi keperluan aplikasi web.
Atas ialah kandungan terperinci Pemprosesan fail aplikasi web pembelajaran Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!