< ;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
업로드
<본문>
<양식>
<%@ WebHandler Language="C#" Class="Handler" %>
System.Web 사용
System.IO 사용; System.Text;
System.Net 사용
공용 클래스 Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
//소스 이미지 경로
string _fileNamePath = "";
try
{
_fileNamePath = context.Request.Form["upfile"]
string _savedFileResult = UpLoadFile(_fileNamePath); .Write(_savedFileResult);//업로드 결과 반환
}
catch
{
context.Response.Write("0|error|파일 경로 오류")
}
}
///
/// 이미지 저장
/// ///
/ param>///
private string UpLoadFile(string fileNamePath)
{
//그림 형식
string fileNameExt = fileNamePath.Substring(fileNamePath. IndexOf ('.')).ToLower();
if (!CheckFileExt(fileNameExt)) return "0|error|그림 형식이 잘못되었습니다!"
//경로 저장
string toFilePath = "ProductUpload /";
//물리적 전체 경로
string toFileFullPath = HttpContext.Current.Server.MapPath(toFilePath)
//경로가 존재하는지 확인하고, 존재하지 않으면 생성합니다.
!Directory.Exists (toFileFullPath))
{
Directory.CreateDirectory(toFileFullPath);
}
//저장될 임의의 파일 이름 생성
string toFileName = GetFileName();
//전체 경로가 저장됩니다
string saveFile=toFileFullPath toFileName fileNameExt;
///WebClient 인스턴스 생성
WebClient myWebClient = new WebClient()//Windows 네트워크 보안 인증 설정
myWebClient.Credentials = CredentialCache.DefaultCredentials;
//업로드할 파일
FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read); >BinaryReader r = new BinaryReader(fs );
//다음 형식으로 UploadFile 메서드를 사용합니다.
return "1|" toFileName fileNameExt "|Save 성공적으로."
/// < ;summary>
/// 이미지 유형 감지
///
///
🎜>///
올바르게 True를 반환합니다 private bool CheckFileExt(string _fileExt)
{
string[] allowedExt = new string[] { ".gif", ". jpg", ".jpeg" };
for (int i = 0; i < allowedExt.Length; i )
{
if (allowExt[i] == _fileExt) { return true; }
}
false 반환
}
///
/// 임의의 사진 이름 가져오기
/// //
공개 정적 문자열 GetFileName()
{
Random rd = new Random()
StringBuilder serial = new StringBuilder(); .Append(DateTime.Now .ToString("yyMMddHHmmssff"));
serial.Append(rd.Next(0, 9999).ToString())
return serial.ToString();
public bool IsReusable
{
get
{
return false
}
}
}
CSS 스타일 upload.css
코드 복사
코드는 다음과 같습니다.