douchen4547 2017-01-28 09:15
浏览 197
已采纳

使用enctype =“ multipart / form-data”将选择上传的文件的文件名传递给Golang中的struct字段

My application uses the html code snippet for the form to upload a file

<form  method="POST" action="/addproduct" enctype="multipart/form-data">
        <label class="form-control-label" for="productimage"></label>
        {{with .Errors.image}}
        <div class="alert alert-danger">
            {{.}}
        </div>
        {{end}}     

        <input type="file" name="productimage" id = "productimage" multiple="multiple" class = "btn btn-danger">

        <input type="submit" name="submit" value="Submit" class = "btn btn-info">
    </form>

I need to grab the filename of the uploaded file and pass it to a struct field in Golang.

    file, header, err := r.FormFile("productimage")
    defer file.Close()
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
    }
    var pimage = header.Filename 

p := &Product{
    Puid:     Puid(),
    Pname:    r.FormValue("productName"),
    Quantity: r.FormValue("quantity"),
    Price:    r.FormValue("price"),
    Image:    pimage,
}

I am trying to pass the name of the file selected for uploaded to 'image' field of the struct 'Product'. Any suggestions on how this can be done?

  • 写回答

1条回答 默认 最新

  • douzhao2047 2017-01-28 20:41
    关注

    Instead of calling r.FormFile(), you could instead try:

    mpr, _ := r.MultipartReader()
    filePart, _ := r.NextPart()
    fileName := filePart.FileName()
    

    However, I would check the errors :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1