การ    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

ทำความรู้จักกับ Outlook บนเว็บ

Post Views: 6 Outlook เป็นเครื่องมือจัดการอีเมลและปฏิทินที่ทรงพลัง ซึ่งช่วยให้คุณมีระเบียบและเพิ่มความสามารถในการทำงาน ด้วยอินเทอร์เฟซที่ใช้งานง่าย คุณสามารถจัดการกล่องขาเข้าของคุณ นัดหมาย และทำงานร่วมกับเพื่อนร่วมงานได้อย่างง่ายดาย ฟีเจอร์ที่แข็งแกร่งของ Outlook รวมถึงแม่แบบอีเมลที่ปรับแต่งได้ ความสามารถในการค้นหาขั้นสูง และการผสานรวมที่ไร้รอยต่อกับแอปพลิเคชัน Microsoft Office อื่นๆ ไม่ว่าคุณจะเป็นมืออาชีพที่ยุ่งอยู่หรือเป็นนักเรียนที่ต้องจัดการกับภารกิจหลายอย่าง Outlook

Read More

[บันทึกกันลืม] JupyterHub Authenticated with OIDC

Post Views: 36 ต่อจากตอนที่แล้ว [บันทึกกันลืม] JupyterHub ด้วย Docker คราวนี้ ถ้าต้องการให้ ยืนยันตัวตนด้วย OpenID เช่น PSU Passport เป็นต้น ก็ให้ทำดังนี้ ในไฟล์ jupyterhub_config.py ใส่

Read More