Beego: how to create an upload form to store files in MySQL database?

1.8k views Asked by At

I am making an web application in beego. I am new in both go and beego. I want to save a pdf file in mysql database. In php we can easily do that but in beego i am facing issue.

  1. Mysql type blob is used to store pdf files. But in go blob is not a valid type. So what should i use in go? I face this issue while making model for the mysql table.

  2. How to parse html form to get the pdf file? I know only about GetString and GetInt functions but how to get file type from html form in beego controller?

1

There are 1 answers

3
Simon Whitehead On

According to the Beego Documentation, you can use GetFile:

file, header, err := ctrlr.GetFile("input_name_in_markup")

You must apply the enctype="multipart/form-data" attribute to your HTML forms so the files get uploaded.

Also, the BLOB type can be represented as a []byte slice. Some packages define a Blob type that is aliased from []byte - e.g: type Blob []byte. You'll have to check the package you're working with to verify it has one. Otherwise, use []byte.