파일 업로드 및 다운로드
Gin은 Go 언어를 사용하여 개발된 웹 개발 프레임워크로 효율적이고 사용하기 쉬우며 유연합니다. 파일 업로드 및 다운로드의 경우 이러한 기능은 Gin 프레임워크를 사용하여 쉽게 구현할 수 있습니다. 이 기사에서는 Gin 프레임워크를 사용하여 파일을 업로드하고 다운로드하는 방법을 소개합니다.
1. 파일 업로드
Gin 프레임워크에서 파일 업로드에는 MultipartForm 형식을 사용해야 합니다. 먼저 라우팅 및 처리 기능을 정의해야 합니다.
router.POST("/upload", uploadHandler)
func uploadHandler(c *gin.Context) {
file, err := c.FormFile("file") if err != nil { c.JSON(http.StatusBadRequest, gin.H{ "error": err.Error(), }) return } filename := filepath.Base(file.Filename) if err := c.SaveUploadedFile(file, filename); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "error": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "message": fmt.Sprintf("'%s' uploaded!", filename), })
}
파일 업로드 처리 기능에서, 첫 번째 통과 c.FormFile() 함수는 업로드된 파일을 획득하고 오류를 처리합니다. 그런 다음 파일 이름을 가져오고 c.SaveUploadedFile() 함수를 사용하여 파일을 지정된 디렉터리에 저장합니다. 마지막으로 업로드 결과는 JSON을 통해 반환됩니다.
Gin 서비스를 시작하고 http://localhost:8080/upload를 방문하면 다음 인터페이스가 표시됩니다.
https://user-images.githubusercontent.com/36320997/129822689-f45e849c-7cae-4ad9-9107 - aae98f76d34c.png
파일이 성공적으로 업로드되면 다음 JSON 반환 결과가 표시됩니다.
{
"message": "'test.txt' uploaded!"
}
2. 파일 다운로드
파일 다운로드에는 Gin 프레임워크의 정적 파일 서비스가 필요합니다. 이는 다음 작업을 통해 달성할 수 있습니다:
1. 다운로드한 파일을 저장할 디렉터리를 애플리케이션에 만듭니다.
2. Gin 라우팅에서 다음과 같이 이 디렉터리의 파일에 대한 액세스를 정의합니다.
router.StaticFS("/download", http.Dir("tmp"))
3. 파일 이름은 다음과 같이 다운로드 인터페이스를 정의합니다:
router.GET("/download/:filename", downloadHandler)
func downloadHandler(c *gin.Context) {
filename := c.Param("filename") file := "./tmp/" + filename // 通过配置文件获取下载目录地址,如: "./tmp/" + filename fi, err := os.Stat(file) if err != nil { c.JSON(http.StatusBadRequest, gin.H{ "error": err.Error(), }) return } c.Writer.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", fi.Name())) c.Writer.Header().Set("Content-Type", "application/octet-stream") c.File(file)
}
파일 다운로드에서 처리 기능, c.Param()을 통해 파일 이름을 가져와 파일이 존재하는지 확인하고 다운로드 HTTP 응답 헤더를 설정한 다음 마지막으로 응답에 파일을 작성하여 파일 다운로드 기능을 구현해야 합니다.
Gin 서비스를 시작하고 http://localhost:8080/download/test.txt 링크를 방문하여 test.txt 파일을 다운로드하세요.
3. 요약
파일 업로드 및 다운로드 기능은 우아하고 간결한 Gin 프레임워크를 통해 구현됩니다. 실제 사용 시 파일 저장 위치와 파일 저장 방법, 이후의 파일 작업도 고려해야 합니다. 독자는 자신의 실제 조건에 따라 개선할 수 있습니다.
위 내용은 골랑진 만드는 법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!