asp.net Server.MapPath 메서드 고려 사항 1/2페이지
우선, 업로드 디렉터리의 권한을 확인하십시오. NetWork 서비스 사용자의 쓰기, 수정 권한을 추가했지만, 결과는 실패했습니다. 그리고 권한을 EveryOne으로 설정했는지, 실패했는지 확인하십시오. 권한의 문제가 아닌 것 같습니다.
그런 다음 가상 디렉터리를 삭제하고 응용 프로그램 디렉터리에 그림을 저장하는 폴더(발표 전에 삭제)를 다시 만들고 쓰기 권한을 부여한 결과 업로드에 성공하고 정상적으로 표시될 수 있습니다.
이어서, 나는 업로드한 그림copy를 원래 만들어진 가상 디렉터리 아래에 다시 만들고, 가상 디렉터리를 다시 만들었는데, 결과는 성공적이었다.
이러한 검사와 구상 작업을 통해 저는 파일을 정말 올릴 수 있고 정상적으로 표시할 수 있다는 것을 정리했습니다. 업로드할 때의 디렉터리와 가상 디렉터리 간의 전환에 문제가 생긴 것 같습니다. 그리고 저는 제가 쓴 코드를 계속 심사했습니다.
현재 간략한 코드입니다. 그 중에서 Upload는 그림의 저장 디렉터리이고 가상 디렉터리를 만드는 곳입니다. Spread는 상위 디렉터리입니다.나는 갑자기 알고 보니 Server였다.Mappath는 그림이 저장된 루트 디렉터리를 가리키지 않아서 이상한 느낌이 들어서 수정했습니다.
string fullName = this.FileUpload2.PostedFile.FileName;
string type = fullName.Substring(fullName.LastIndexOf('.') + 1);
if (!PhotoTypes.IsExist(type.ToLower()))
{
Bmc.CLUtility.ShowMessage(this.Page, " JPEG、JPE、GIF、BMP、PNG !");
return;
}
string fileName ="Upload/"+ System.DateTime.Now.ToString("yyMMddhhmmss") + "." + type;
try
{
string temp = Server.MapPath("~/Spread");
this.FileUpload2.PostedFile.SaveAs(temp + "/" + fileName);
this.Image2.ImageUrl = "~/Spread/" + fileName;
this.Image2.Visible = true;
}
catch
{
Bmc.CLUtility.ShowMessage(this.Page, " !");
}
수정된 코드는 다음과 같습니다. 결과는 정상적으로 업로드되고 표시될 수 있습니다. 문제가 여기에 있는 것 같습니다.
string fullName = this.FileUpload2.PostedFile.FileName;
string type = fullName.Substring(fullName.LastIndexOf('.') + 1);
if (!PhotoTypes.IsExist(type.ToLower()))
{
Bmc.CLUtility.ShowMessage(this.Page, " JPEG、JPE、GIF、BMP、PNG !");
return;
}
string fileName = System.DateTime.Now.ToString("yyMMddhhmmss") + "." + type;
try
{
string temp = Server.MapPath("~/Spread/Upload");
this.FileUpload2.PostedFile.SaveAs(temp + "/" + fileName);
this.Image2.ImageUrl = "~/Spread/Upload/" + fileName;
this.Image2.Visible = true;
}
catch
{
Bmc.CLUtility.ShowMessage(this.Page, " !");
}
1 2 다음 페이지 전체 텍스트 읽기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.