if your client code is converting to base64, then its passed as string, so you need a view model. once received on the server, it can convert the base64 string back to a buffer.
JavaScript readAsArrayBuffer to bytes and pass it to MVC controller
Hello all I have the following code where I have created a model to pass the documents. My model is as follows
public class Student
{
public string StudentName {get;set;}
public List<Document> Documents { get; set; }
}
public class Document
{
public string DocumnetName {get;set;}
public byte[] DocumentData {get;set;}
}
public JsonResult PostUserData(Student StudentData)
{
}
Here is the fiddle I am trying out https://jsfiddle.net/DorababuMeka/7g9yLrs3/23/
Developer technologies ASP.NET Other
3 answers
Sort by: Most helpful
-
Bruce (SqlWork.com) 77,686 Reputation points Volunteer Moderator
2021-10-03T15:15:30.117+00:00 -
Yijing Sun-MSFT 7,096 Reputation points
2021-10-04T08:03:42.907+00:00 Hi @AzureDevUser ,
As far as I think,you could convert to base64 string using the javascript.And then you could use ajax to post the parameter to the controller.Just like this:
137300-new-text-document-2.txt
Best regards,
Yijing Sun
If the answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.
-
AgaveJoe 30,126 Reputation points
2021-10-04T13:00:17.157+00:00 File upload is a very straight forward in MVC using an HTML Form and the file input element. The browser handles file stream so there is little reason to convert the file to an array manually.
ASP.NET MVC 5 with EF 6 - Working With Files
If you are building a JavaScript solution then take advantage of the FormData object to upload a file.
Using FormData Objects
Using files from web applicationsIf you still need assistance then share your code so the community can see how your are approaching this problem.