왜안됨왜안됨왜안됨왜안됨왜안됨왜안됨왜안됨왜안됨
업로드 기능 문제있음 원인 : 모름 진짜 모르겠음 발생과정 : 업로드버튼을 누를시 400에러 발생 업로드 버튼을 누르면 호출되야할 메서드가 호출이 안됨 페이지 링크가 안됬나 확인했더니 해당 문제 페이지에 있는 다른 메서드인 onGet은 잘만 호출됨 클라이언트 html보니 보여서는 안될 asp-for가 보여서 razor엔진이 동작안되는거 같아 program.cs확인 문제없음 근데 여전히 똑같음 => ???
This commit is contained in:
BIN
.vs/ProjectEvaluation/a4paperholder.metadata.v9.bin
Normal file
BIN
.vs/ProjectEvaluation/a4paperholder.metadata.v9.bin
Normal file
Binary file not shown.
BIN
.vs/ProjectEvaluation/a4paperholder.projects.v9.bin
Normal file
BIN
.vs/ProjectEvaluation/a4paperholder.projects.v9.bin
Normal file
Binary file not shown.
BIN
.vs/ProjectEvaluation/a4paperholder.strings.v9.bin
Normal file
BIN
.vs/ProjectEvaluation/a4paperholder.strings.v9.bin
Normal file
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.13.35931.197 d17.13
|
VisualStudioVersion = 17.13.35931.197
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "a4PaperHolder", "a4PaperHolder\a4PaperHolder.csproj", "{95F1076B-0572-4793-88E2-40D16276519D}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "a4PaperHolder", "a4PaperHolder\a4PaperHolder.csproj", "{95F1076B-0572-4793-88E2-40D16276519D}"
|
||||||
EndProject
|
EndProject
|
||||||
|
|||||||
@@ -34,3 +34,5 @@
|
|||||||
</li>
|
</li>
|
||||||
}
|
}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<a href="/Upload">파일 업로드</a>
|
||||||
|
|||||||
17
a4PaperHolder/Pages/Upload.cshtml
Normal file
17
a4PaperHolder/Pages/Upload.cshtml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@page
|
||||||
|
@model a4PaperHolder.Pages.UploadModel
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "파일 업로드";
|
||||||
|
}
|
||||||
|
|
||||||
|
<h2>파일 업로드</h2>
|
||||||
|
|
||||||
|
<form method="post" enctype="multipart/form-data">
|
||||||
|
<input type="file" asp-for="UploadFile" />
|
||||||
|
<button type="submit">업로드</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
@if (Model.Message != null)
|
||||||
|
{
|
||||||
|
<p style="color:green;">@Model.Message</p>
|
||||||
|
}
|
||||||
37
a4PaperHolder/Pages/Upload.cshtml.cs
Normal file
37
a4PaperHolder/Pages/Upload.cshtml.cs
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||||
|
|
||||||
|
namespace a4PaperHolder.Pages;
|
||||||
|
|
||||||
|
public class UploadModel : PageModel
|
||||||
|
{
|
||||||
|
[BindProperty]
|
||||||
|
public IFormFile? UploadFile { get; set; }
|
||||||
|
|
||||||
|
public string? Message { get; set; }
|
||||||
|
|
||||||
|
public void OnGet() { }
|
||||||
|
|
||||||
|
public async Task<IActionResult> OnPostAsync()
|
||||||
|
{
|
||||||
|
Console.WriteLine("onpostcalled");
|
||||||
|
if (UploadFile == null || UploadFile.Length == 0)
|
||||||
|
{
|
||||||
|
Message = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>.";
|
||||||
|
return Page();
|
||||||
|
}
|
||||||
|
|
||||||
|
var basePath = Path.Combine(AppContext.BaseDirectory, "NASFiles");
|
||||||
|
|
||||||
|
if (!Directory.Exists(basePath))
|
||||||
|
Directory.CreateDirectory(basePath);
|
||||||
|
|
||||||
|
var filePath = Path.Combine(basePath, Path.GetFileName(UploadFile.FileName));
|
||||||
|
|
||||||
|
await using var stream = System.IO.File.Create(filePath);
|
||||||
|
await UploadFile.CopyToAsync(stream);
|
||||||
|
|
||||||
|
Message = "<22><><EFBFBD>ε<EFBFBD> <20>Ϸ<EFBFBD>!";
|
||||||
|
return Page();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using Microsoft.AspNetCore.StaticFiles;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.AspNetCore.StaticFiles;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
@@ -9,6 +10,12 @@ var app = builder.Build();
|
|||||||
|
|
||||||
//razor가 브라우저에서 돌아가면? brazor 작명센스 조졌네
|
//razor가 브라우저에서 돌아가면? brazor 작명센스 조졌네
|
||||||
app.UseStaticFiles();
|
app.UseStaticFiles();
|
||||||
|
|
||||||
|
//MvcOptions mvcOption = new();
|
||||||
|
//mvcOption.EnableEndpointRouting = false;
|
||||||
|
app.UseRouting();
|
||||||
|
app.UseAuthorization();
|
||||||
|
//app.UseMvc();
|
||||||
app.MapRazorPages();
|
app.MapRazorPages();
|
||||||
|
|
||||||
var basePath = Path.Combine(AppContext.BaseDirectory, "NASFiles");
|
var basePath = Path.Combine(AppContext.BaseDirectory, "NASFiles");
|
||||||
@@ -30,7 +37,17 @@ app.MapGet("/view", (HttpRequest request) =>
|
|||||||
provider.TryGetContentType(filePath, out var contentType);
|
provider.TryGetContentType(filePath, out var contentType);
|
||||||
contentType ??= "application/octet-stream";
|
contentType ??= "application/octet-stream";
|
||||||
|
|
||||||
return Results.File(System.IO.File.OpenRead(filePath), contentType);
|
var stream = System.IO.File.OpenRead(filePath);
|
||||||
|
|
||||||
|
//플레인텍스트같은 확장자는 그냥 다운로드되버리는 문제 있음 일단 영상유형 확장자의 앞으로감기,뒤로감기 처리는 됨
|
||||||
|
//return Results.Stream(
|
||||||
|
// stream,
|
||||||
|
// contentType,
|
||||||
|
// fileDownloadName: fileName,
|
||||||
|
// enableRangeProcessing: true
|
||||||
|
// );
|
||||||
|
|
||||||
|
return Results.File(System.IO.File.OpenRead(filePath), contentType);
|
||||||
});
|
});
|
||||||
|
|
||||||
app.Run();
|
app.Run();
|
||||||
|
|||||||
Reference in New Issue
Block a user