Gorm 作成フォーム データ ファイルのアップロード エラー

PHPz
リリース: 2024-02-09 22:06:08
転載
923 人が閲覧しました

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

phpエディタYouziは今日、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 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート