Gorm이 양식 데이터 파일 업로드 오류를 생성합니다.

PHPz
풀어 주다: 2024-02-09 22:06:08
앞으로
891명이 탐색했습니다.

Gorm 创建表单数据文件上传错误

PHP 편집자 Yuzi가 오늘 Gorm 생성 양식 데이터 파일 업로드 오류 문제를 소개합니다. 개발 과정에서 파일을 업로드해야 하는 경우가 종종 있는데, Gorm은 편리한 데이터베이스 운영 방법을 제공하는 강력한 ORM 라이브러리입니다. 하지만 폼 데이터 파일 업로드를 위해 Gorm을 사용하는 경우 일부 오류가 발생하는 경우가 있습니다. 이 문서에서는 이러한 오류를 분석하고 이 문제를 더 잘 처리하는 데 도움이 되는 해당 솔루션을 제공합니다.

질문 내용

postgresql 서버에서 레코드를 생성하려고 합니다. 요청은 멀티파트 형식의 파일 데이터로 나에게 전송됩니다. 내측에 파일을 업로드한 후 gorm.create를 호출했지만 오류가 발생합니다.

파일 업로드 부분을 주석 처리하면 오류가 사라지는데 파일을 업로드해야 합니다.

내 컨트롤러 부분은 다음과 같습니다.

으아아아

내 요청:

오류:

으아아아

내 구조는 다음과 같습니다.

func (pc productcontroller) create(c *gin.context) {

    var product migrations.product

    if err := c.bind(&product); err != nil {
        c.json(400, gin.h{"error": err.error(), "message": "İşlem başarısız. lütfen tekrar deneyiniz veya sistem yöneticinize başvurun. hata kodu: pd-crt-01"})
        return
    }

    if product.name == "" {
        c.json(400, gin.h{"error": "name is required", "message": "İşlem başarısız. lütfen ad alanını boş bırakmayınız. hata kodu: pd-crt-02"})
        return
    }

    if product.price == 0 {
        c.json(400, gin.h{"error": "price is required", "message": "İşlem başarısız. lütfen fiş değeri alanını boş bırakmayınız. hata kodu: pd-crt-03"})
        return
    }
    if product.id != 0 {
        c.json(400, gin.h{"error": "remove id field", "message": "lütfen tekrar deneyiniz veya sistem yöneticinize başvurun. hata kodu: pd-crt-id-01"})
        return
    }

    file, err := c.formfile("image")
    if err != nil {
        c.json(400, gin.h{"error": err.error(), "message": "lütfen resim ekleyiniz. hata kodu: pd-crt-img-01"})
    }
    filename := time.now().format("20060102150405") + "-" + strings.split(file.filename, ".")[0] + "." + strings.split(file.filename, ".")[1]
    dst := fmt.sprintf("./public/images/%s", filename)
    err = c.saveuploadedfile(file, dst)
    if err != nil {
        c.json(400, gin.h{"error": err.error(), "message": "lütfen tekrar deneyiniz veya sistem yöneticinize başvurun. hata kodu: pd-crt-img-02"})
        return
    }

    product.image = &migrations.file{
        path:      filename,
        extension: strings.split(file.filename, ".")[1],
    }
    log.println(product)
    err = db.conn.create(&product).error
    if err != nil {
        c.json(400, gin.h{"error": err.error(), "message": "İşlem başarısız. lütfen tekrar deneyiniz veya sistem yöneticinize başvurun. hata kodu: pd-crt-04"})
        return
    }

    c.json(http.statuscreated, gin.h{"message": "Ürün başarıyla eklendi.", "data": product})
    return
}
로그인 후 복사

해결 방법

파일 구조의 단위 유형을 확인하세요. strconv.ParseInt() 문자열을 값으로 변환합니다. 내 생각에는 ModuleID, ModuleType 또는 둘 다 문자열이어야 합니다.

위 내용은 Gorm이 양식 데이터 파일 업로드 오류를 생성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!