私は今、それが画像をアップロードASP.NETコアアプリケーションに取り組んでいます。イメージは、コントローラを介して要求を介してStream
として送信されます。私はそのStream
からImage
オブジェクトを作成していますが、そのデータを直接読み取ることができます。つまり、Image
オブジェクトを作成して、データが有効なイメージであることを確認することができます。
ここでは、ビューのスクリプトからいくつかの関連するコードです:
function uploadImage()
{
// This is a file upload control in a hidden div.
var image = $("#imageFile");
if (image[0].files.length > 0)
{
var formData = new FormData();
formData.append(image[0].files[0].name, image[0].files[0]);
var xhr = new XMLHttpRequest();
xhr.open("POST", "@Url.Content("~/events/uploadimage")");
xhr.send(formData);
xhr.onreadystatechange = function()
{
if (xhr.readyState === 4 && xhr.status === 200)
{
var response = JSON.parse(xhr.responseText);
if (response.saveSuccessful)
{
// ...
} else
{
window.location.replace("@Url.Content("~/error")");
}
}
}
xhr.onerror = function(err, result)
{
alert("Error: " + err.responseText);
}
}
}
は、私は力仕事をして、いくつかのjQueryを使ってそのコードを置き換えるプロセスにいるよ、まだそこまで持っていません。
ここでアクションから、いくつかの関連するコードです:
[HttpPost]
public IActionResult UploadImage()
{
var requestForm = Request.Form;
StringValues tempImageFileNames;
string tempImageFileName = null;
string imageUrl = null;
var saveSuccessful = true;
var requestFiles = requestForm.Files;
if (requestFiles.Count > 0)
{
// A file has been uploaded.
var file = requestFiles[0];
using (var stream = file.OpenReadStream())
{
try
{
using (var originalImage = System.Drawing.Image.FromStream(stream))
{
// Do whatever you like with the Image here.
}
}
catch (Exception)
{
saveSuccessful = false;
}
}
}
if (saveSuccessful)
{
return Json(new {saveSuccessful, tempImageFileName, imageUrl});
}
else
{
return Json(new {saveSuccessful});
}
}
は申し訳ありませんが、あなたがVBコードの後にしていることを最初に私には発生しなかった、これは、C#です。うまくいけば、あなたはまだアイデアを得ることができ、誰かが答えを嫌うなら、ヒットします。