การ    upload  file มีหลายรูปแบบ ไม่ว่าจะเป็นการ upload file  แบบ copy ไว้บน server หรือจะเป็นการบันทึกลงในฐานข้อมูลเลยโดยตรง วันนี้จะขอนำเสนอในส่วนของการ upload   file  และบันทึกลงฐานข้อมูล     โดยใช้ ASP.NET MVC  ดังนี้

 

กำหนดไฟล์ที่ต้องการ upload ให้มีรูปแบบดังนี้

      public class UploadModel

{

[Required]

public HttpPostedFileBase File { get; set; }

}

 

ในส่วนของ    View

 

<form id=”uploader” enctype=”multipart/form-data” method=”POST”>

<a type=”submit” href=”#” onclick=”uploadConfirm();” class=”btn btn-info”><span class=”glyphicon glyphicon-save”></span>&nbsp;Upload</a>

</form>

ในส่วนของ java script (สำหรับเรียก Controller)

  function uploadConfirm() {

$.ajax({

type: ‘POST’,

contentType: ‘application/json; charset=utf-8’,

url: ‘@Url.Action(“CheckDataBeforeUpload”, “NoteUpload”)’,

data: “{ ‘periodID’:'” + $(‘#selectedlistPeriods’).val() +

“‘ ,’financeID’:'” + $(‘#selectedlistFinance’).val() +

“‘ }”,

success: function (resultSave) {

 

},

error: function (data) {

alert(data);

}

});

}

 

ในส่วนของ Controller

public async Task<ActionResult> UploadFile(UploadModel model, FormCollection form)

{

 

string fileName = Path.GetFileName(model.File.FileName); //แสดงชื่อไฟล์

string strFileName = Path.GetFileNameWithoutExtension(fileName); //แสดงชื่อไฟล์

string contentType = model.File.ContentType;  //แสดงนามสกุลไฟล์

 

string FileExtension = fileName.Substring(fileName.LastIndexOf(‘.’) + 1).ToLower();

using (Stream fs = model.File.InputStream) //

{

using (BinaryReader br = new BinaryReader(fs))

{

byte[] bytes = br.ReadBytes((Int32)fs.Length);

 

//TO DO:  Code ในส่วนที่ต้องการ insert ข้อมูลลง Database

}

}

 

return RedirectToAction(“Index”);

}

 

จากตัวอย่างข้างต้น จะเป็นการ upload file ลงฐานข้อมูลโดยตรงในส่วนของรูปแบบการพัฒนาแบบ MVC ผู้เขียนหวังว่าอาจจะเป็นอีกทางเลือกหนึ่งของผู้พัฒนา ในการนำไปพัฒนาโปรแกรมต่อไปนะคะ ^_^

แหล่งอ้างอิง

https://stackoverflow.com/questions/15106190/uploading-files-into-database-with-asp-net-mvc

https://stackoverflow.com/questions/21677038/mvc-upload-file-with-model-second-parameter-posted-file-is-null/21677156

Share the Post:

Related Posts

PSU One Passport (Authentik)

Post Views: 99 คลิก “ลงชื่อเข้าใช้ด้วย PSU PASSPORT” จะได้หน้าดังภาพ เมื่อได้หน้านี้มี 2 ทางเลือกคือ

Read More