>백엔드 개발 >Golang >골랑진 만드는 법

골랑진 만드는 법

PHPz
PHPz원래의
2023-05-19 11:02:07542검색

파일 업로드 및 다운로드

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.