私はこれを動作させようとしてきましたが、役に立たなかった。マルチパートボディの長さの制限が16384を超えました
私がやっていることは、JQuery AJAXを使用してFormDataイメージと添付ファイルのセットをアップロードすることです。私はエラーを取得しておく
:ここでは誰もが私を助けるかの方向に私を指すことができる場合 Multipart body length limit exceeded exception
:
を「マルチパートボディの長さの制限を16384を超え、」私はここSO上の他の同様の質問を見つけましたそれは非常に高く評価されます。 。。私も追加
let data = new FormData();
data.enctype = "multipart/form-data";
let file = $("#imgItem_image-upload-file")[0].files[0];
data.append("image|" + file.name, file); //Works fine if alone.
//Does not work, causes error on server side.
for (var i = 0; i < objItem.Attachments[0].length; i++) {
let attFile = objItem.Attachments[0][i].File;
console.log(attFile);
data.append("attachment|" + attFile.name, attFile);
}
data.append("Category", objItem.Category);
data.append("NewCategory", objItem.NewCategory);
data.append("Name", objItem.Name);
data.append("IdentificationType", objItem.IdentificationType);
data.append("SerialNumber", objItem.SerialNumber);
data.append("IMEI", objItem.IMEI);
data.append("EngineNumber", objItem.EngineNumber);
data.append("MASNumber", objItem.MASNumber);
data.append("NumberPlate", objItem.NumberPlate);
data.append("VINNumber", objItem.VINNumber);
data.append("Description", objItem.Description);
$.ajax({
url: "http://localhost:7001/api/AddPersonalItem",
type: "POST",
data: data,
//dataType: "json",
//headers: { 'Content-Type': false },
//contentType: false,
contentType: false, //'multipart/form-data'
processData: false,
// headers: {
// 'Accept': 'application/json',
// 'Content-Type': 'application/json'
// },
success: function (response) {
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
:それは私の側にはほとんど真夜中だ、と私は:(を放棄しようと思い、私はASP.NETのコアを使用しています
1.1ここで
は私のjavascriptのですこの私のStartup.jsファイルに:
public ServiceCallResponse AddPersonalItem()
{
ItemObject io = new ItemObject();
io.Attachments = new List<Attachment>();
io.Image = new Image();
//Get files.
foreach (IFormFile file in Request.Form.Files)
{
//The file name also states what type of object this is.
string type = file.Name.Split('|')[0];
string name = file.Name.Split('|')[1];
StreamReader reader = new StreamReader(file.OpenReadStream());
byte[] bytes = Encoding.Unicode.GetBytes(reader.ReadToEnd());
string base64 = Convert.ToBase64String(bytes);
switch (type.ToLower().Trim())
{
case "attachment":
Attachment a = new Attachment();
a.Name = name;
a.Base64 = base64;
io.Attachments.Add(a);
break;
case "image":
io.Image.Name = name;
io.Image.Base64 = base64;
break;
}
}
}
:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
//Multipart
services.Configure<FormOptions>(x =>
{
x.MultipartBodyLengthLimit = 60000000;
});
}
そして、ここに私のAPIは、コントローラのコードです
マルチパートのボディの長さを増やした後も、まったく同じエラーが表示されます。
エラーがで発生します。
foreach (IFormFile file in Request.Form.Files)
私は十分に明確ではないです場合はN本、尋ねると、私はellaborateしようとするでしょうしてください! :)
...私は本当にこの上で.NETのコアを使用したいが、私は、私は22日とカウントした後...私のサービスのためにWCFに切り替える必要があると考え始めています –
https://github.com/ aspnet/Mvc/issues/5128 –
私は最終的に.NET Coreを削除し、ASP.NET API 2でこれをやりました。私はまだ.NET Coreがそのデフォルトよりも大きなファイルを許可する方法を考え出していません。私が試したすべてのリンクは単に機能しません。API 2は100%正常に機能します - 私は今、Windowsホスティング環境が必要です... –