سلام استاد خسته نباشید
استاد وقتی تو razor page یه action یا handler درست میکنیم چجوری باید routeشو به فایل config بدیم؟
config.filebrowserImageUploadUrl = "/MyRazor?handler=UploadImage";
در razor page به صورت بالا آدرس دهی کنید MyRazor اسم فولدری است که کلاس IndexModel در آن است و UploadImage هم اسم هندلر است.
اما در این حالت هم بخاطر اعتبار سنجی برنامه با مشکل مواجه می شود. برای حل مشکل دستور زیر را بالای کلاس IndexModel قرار دهید.
[IgnoreAntiforgeryToken]
با کد زیر هم میتوانید فایل را آپلود کنید
public async Task<JsonResult> OnPostUploadImage([FromForm] IFormFile upload)
{
if (upload.Length <= 0) return null;
var fileName = Guid.NewGuid() + Path.GetExtension(upload.FileName).ToLower();
var filePath = Path.Combine(
Directory.GetCurrentDirectory(), "wwwroot/images",
fileName);
using (var stream = System.IO.File.Create(filePath))
{
await upload.CopyToAsync(stream);
}
var url = $"{"/images/"}{fileName}";
var success = new uploadsuccess
{
Uploaded = 1,
FileName = fileName,
Url = url
};
return new JsonResult(success);
}
استاد توضیحتون خیلی کامل بود خیلی ممنون