Sau khi thực hiện thành công ajax POST
, tải lên các đối tượng mô hình và thậm chí các đối tượng phức tạp nhờ vào mục tiêu mới này là phải thực hiện một kịch bản phức tạp hơn một chút. Page 46MVC hoặc API truyền Web API [] cách tiếp cận hiệu quả nhất
Tôi đã cố gắng để thực hiện các nhiệm vụ trong câu hỏi thông qua các ví dụ mã tìm kiếm google mà không có một bê tông và câu trả lời đúng
Mục đích là để có mục đích đa (đa dữ liệu-type) truyền dữ liệu từ phía khách hàng đến máy chủ (không có sử dụng một hình thức hoặc HttpRequestBase
) đi qua mảng byte thô theo cách hiệu quả nhất (tôi biết rằng nó có thể thực hiện một giao thức mới HTTP/2
hoặc Googles Protocol Buffers - Google's data interchange format
[HttpPost]
public JsonResult UploadFiles(byte[] parUploadBytearry)
{
}
tốt một mô hình mà một trong những thuộc tính của nó là một byte[]
[HttpPost]
public [JsonResult/ActionResult] Upload(SomeClassWithByteArray parDataModel)
{
}
Các ajax http bài viết Chữ ký:
Log("AajaxNoPostBack preparing post-> " + targetUrl);
$.ajax({
type: 'POST',
url: targetUrl,
data: mods,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function for Success..
});
Tôi cũng hết sức cố gắng workaround này
public JsonResult UploadFiles(object parUploadBytearry)
{
if (parUploadBytearry== null)
return null;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
var pathtosSave = System.IO.Path.Combine(Server.MapPath("~/Content/uploaded"), "Test11.png");
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
bf.Serialize(ms, parUploadFiles);
var Barr = ms.ToArray();
var s = new System.Web.Utils.FileFromBar(pathtosSave, BR);
}
}
như nó đã làm bài và nhận dữ liệu tất cả các cách để lưu dữ liệu (.png
) thành công vào một tệp trong hệ thống, dữ liệu không hợp lệ.
Và thử lành mạnh cuối cùng trước khi đối tượng để cố gắng mảng byte là MSDN này Code example 1
cách chính xác để vượt qua một mảng byte mà C# sẽ hiểu là gì?
(trong trường hợp các văn bản raw byte[]
hoặc các tập tin như png
hình ảnh)
trong 'SomeClassWithByteArray' ví dụ của bạn, nếu chuyển giao thức là JSON, làm thế nào để bạn serialize mảng byte? Base64? –
đây cũng là một tùy chọn, như tôi đã nói ở đầu bài đăng cho các đối tượng phức tạp mà tôi đã sử dụng plugin 'toDictionary', tôi đã mong đợi rằng dữ liệu thô , là một trong những thành viên của nó, sẽ là nhỏ nhất để sau đó chuyển đổi bất kỳ phương pháp hiệu quả nào –