0

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?

kostix
  • 51,517
  • 14
  • 93
  • 176
Sumit Rathore
  • 571
  • 2
  • 7
  • 19

1 Answers1

0

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.

Simon Whitehead
  • 63,300
  • 9
  • 114
  • 138
  • Thanks for your answer. Yes this helps me. But i am stuck at getting file content for saving in database. file is of type multipart.File but i need []byte. I don't want to save this file in file system. Just want to save its data into database. Any help on this? – Sumit Rathore Nov 23 '14 at 12:08
  • `multipart.File` implements the `io.Reader` interface. That means you would read it into a byte buffer as you would with a normal file. – Simon Whitehead Nov 23 '14 at 20:44
  • can you please provide some tutorial link for reading file content through multipart.File. Not able to incorporate this with mysql. I am able to read file content but not able to write it in database. – Sumit Rathore Nov 30 '14 at 19:23