upload de arquivos golang e configuração de download e arrogância

Upload:

// @Summary上传文件
 // @description
 // @Tags arquivo
 // @Accept multipart / form-data
 // arquivo @param arquivo FormData verdadeira "Arquivo"
 // @Produce JSON
 // @Success 200 {Object} filtros. Response { "code": 200, "dados": nil, "msg": ""}
 // @Router / upload [postar] 
func UploadFile (ctx * gin.Context) { 
    arquivo, cabeçalho, err: = ctx.Request .FormFile ( " arquivo " )
     se err! = nulo { 
        returnMsg (CTX, configs.ERROR_PARAMS, "" , err.
        Error ()) return 
    }
    // 获取文件名 
    filename: = header.Filename
     // 写入文件
    fora , err: = os.Create ( " ./static/ " + filename)
     se ! Err = nil { 
        returnMsg (CTX, configs.ERROR_SERVERE, "" , err.Error ())
         return 
    } 
    adiar a .Fechar () 
    _, err = io.Copy ( fora , arquivo)
     se err! = nulo { 
        log.Fatal (err) 

    } 
    returnMsg (CTX, 200 , "" , " sucesso" ) 
}

Download:

// @Summary下载文件
 // @description
 // @Tags arquivo
 // @ param filename string de consulta verdadeiro "nome do arquivo"
 // @Success 200 {} objeto gin.Context
 // @Router / download [obter] 
func DownloadFile ( ctx * gin.Context) { 
    nome: = ctx.DefaultQuery ( " nome " , "" )
     // fmt.Sprintf ( "fixação; nome do ficheiro =% s", nome do ficheiro)对下载的文件重命名 
    ctx.Writer.Header ( ) .Add ( " Content-Disposition " , fmt.Sprintf ( " fixação; nome do ficheiro =% s "  , nome do ficheiro))
    ctx.Writer.Header (). Adicionar (" Content-Type " , " application / octet-stream " ) 
    ctx.File ( " ./static/a.txt " ) 
}

 

Ler arquivo CSV upload e download, etc .:   https://blog.csdn.net/aaaadong/article/details/90177038

Acho que você gosta

Origin www.cnblogs.com/zhzhlong/p/12556457.html
Recomendado
Clasificación