반응형

asp.net MVC4 프레임 워크에서 파일을 업로드 받기 위한 코드입니다.

먼저 HTML 쪽에 아래와 같이 파입 업로드 폼을 만들어줍니다.

<form action="Upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit">
</form>

 

그 다음 컨트롤러에서 웹페이지에서 POST된 파일을 받아 저장합니다.

[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data"), fileName);
file.SaveAs(path);
}
}
return RedirectToAction("Index");
}

 

여러 파일을 전송 받을 때는 아래와 같이 변경 해줍니다.

<form action="Upload" method="post" enctype="multipart/form-data">
<input type="file" name="files" id="file1">
<input type="file" name="files" id="file2">
<input type="submit">
</form>
[HttpPost]
public ActionResult Upload(IEnumerable<httppostedfilebase> files)
{
if (ModelState.IsValid)
{
foreach(var file in files)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data"), fileName);
file.SaveAs(path);
}
}
}
return RedirectToAction("Index");
}

출처: https://kindtis.tistory.com/516

반응형
반응형

서버측 언어가 ASP.NET을 사용하는 경우 만약 한글 깨짐 현상이 발생한다면? 아마도 인코딩(encoding) 설정이 잘못 된 경우일 수 있습니다. 이 경우 어떻게하면 한글 깨짐을 해결할 수 있는지 몇 가지 해경방법을 알아보도록 하겠습니다.

먼저 인코딩 설정은 하나의 페이지에 적용하는 페이지 단위 적용방법과 전체 페이지 적용 방법으로 구분할 수 있습니다. 우선 페이지 단위로 설정하는 싱글 페이지 방법입니다.



# ASP.NET 페이지 단위 인코딩을 설정 방법보여줄 하나의 페이지... 페이지 단위로 인코딩을 설정하는 방법입니다. 이 경우 아래와 같이 코드를 페이지 최상단에 추가합니다. 반드시 페이지 제일 위에 위치해야 정상 동작됩니다.

@ 1번 방법

<%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %>

 


@ 2번 방법

<%@Language="VBScript" CODEPAGE="65001"%>
<% Response.CharSet = "utf-8" %>

 
1번 방법이 안될 경우 2번 방법을 시도하도록 합니다.



# 전역 페이지, 전체 웹에 설정하는 방법웹 어플리케이션 전체에 반영하기 위해서는 Web.config 파일에 아래의 코드를 추가하는 방법이 있습니다. 작성된 파일의 인코딩에 맞추어 아래의 코드를 추가합니다. utf-8 그리고 euc-kr 방법입니다.

@ UTF-8인 경우

<system.web>
    <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="ko-KR" uiCulture="ko-KR"/>
</system.web>


아래는 euc-kr로 인코딩 설정된 경우입니다.

@ EUC-KR인 경우

<system.web>
    <globalization fileEncoding="euc-kr" requestEncoding="euc-kr" responseEncoding="euc-kr" culture="ko-KR" uiCulture="ko-KR"/>
</system.web>



# 마치면서한글깨짐과 같은 문제는 매우 자주 나타나는데 웹에서는 위와같이 인코딩 설정이 반드시 필요합니다. 인코딩 문제는 어디서든 나타날 수 있어 다양한 측면에서 확인과 수정이 필요합니다. 일반적으로 서버측 인코딩 설정이 누락된 경우가 가장 많겠지만 파일의 인코딩 문제일 수도 있고 아니면 데이터베이스에 설정된 인코딩이 달라 나타날 수도 있습니다. 하지만 가장 먼저 확인할 부분은 바로 서버측 환경입니다. 

 

출처 : https://webisfree.com/2018-05-25/asp-net-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90-%ED%98%84%EC%83%81-%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95

반응형

+ Recent posts