ASP.NET Core中的GET請求通常不用于文件上傳,因為GET請求的參數會附加在URL中,這可能導致安全問題,如文件名沖突、敏感信息泄露等。而且,瀏覽器對URL的長度有限制,過長的URL可能導致請求無法成功發送。
對于文件上傳,通常使用POST請求,因為POST請求將數據放在請求體中,不會影響URL。在ASP.NET Core中,可以使用IFormFile
來處理文件上傳。以下是一個簡單的示例:
<form asp-action="Upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit">Upload</button>
</form>
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
public class HomeController : Controller
{
public IActionResult Upload(IFormFile file)
{
if (file == null || file.Length == 0)
{
return Content("No file uploaded.");
}
// 保存文件到服務器的邏輯
// ...
return RedirectToAction("Index");
}
}
這個示例中,Upload
方法接收一個IFormFile
類型的參數,用于處理上傳的文件。注意,表單的enctype
屬性設置為multipart/form-data
,這是處理文件上傳所必需的。