두 개의 프로젝트가있는 솔루션을 작업 중입니다. 하나는 다른 곳에서 작동하는 가상 앱입니다. 첫 번째 애플리케이션은 패널이고 두 번째 애플리케이션은 웹 사이트입니다. 첫 번째 응용 프로그램은 "localhost : 10001 / panel"로 액세스 할 수 있고 두 번째 응용 프로그램은 "localhost : 10001"로 액세스 할 수 있습니다. 첫 번째 앱이 Visual Studio의 두 번째 앱 아래에서 작동 할 가상 경로를 만들었고 그 방식으로 훌륭하게 작동합니다.
내가 지금 겪고있는 문제는 파일 업데이트 시스템, " Blueimp의 jQuery-File-Upload "플러그인 및 " Backload "를 사용하는 백엔드에 관한 것입니다. 나는 이것들이 독립형 프로젝트에서 훌륭하게 작동한다고 말해야한다. 그래서 저는 이것을 사용하여 프로젝트를 계속하기로 결정했습니다.
하지만 아래에서 설명한 설정에 관해서는 업로드 한 파일에 액세스 할 수 없습니다. "localhost : 10001 / panel"로 액세스되는 패널 프로젝트에 파일 업로드 시스템을 설치 했으므로 백로드를 위해 기본 web.config 구성 (기본값은 "~ / files")을 그대로두면 모든 파일이 "localhost"에 업로드됩니다. : 10001 / panel / files "경로. 업로드 후 페이지를 새로 고치면 업로드 된 모든 파일 링크가 "panel"폴더없이 "localhost : 10001 / files /"를 참조합니다.
BackLoad web.config에서는 루트 업로드 폴더를 변경하고 사용하는 방법을 다음과 같이 설명합니다.
filesRoot : // 루트 업로드 폴더. 값이 '~ /'(예 : ~ / files)로 시작하면 경로는 웹 루트에 상대적이고 그렇지 않으면 절대 로컬 경로 (예 : d : / files)를 설정합니다. [기본값 : "~ / Files"].
폴더 참조 시작 부분에 "~ /"가 있으면 프로젝트의 루트가 표시된다는 것을 이해합니다. 그러나 두 번째 프로젝트의 루트에서 모든 파일을 업로드하고 액세스하기 위해 기본 "~ / files"대신 업로드 폴더를 참조하는 방법을 알 수 없습니다. 이 두 프로젝트 사이의 폴더를 참조해야 할 때 "../"또는 "/"를 사용하여 두 번째 프로젝트의 (사이트) 루트에 액세스합니다. 그러나 BackLoad 구성 설정의 "filesRoot"속성에서 모든 파일 참조가 "/// file ....."을 시작하고 컴퓨터의 로컬 경로를 표시합니다.
패널에서 파일을 업로드 할 때 "localhost : 10001 / files"위치에서 파일을 업로드하고 액세스하고 싶습니다. 이제 파일이 "panel / files"폴더에 업로드되지만 기본 설정으로 "files"폴더에서 액세스되기 때문에 "localhost : 10001 / panel / files"경로도 사용할 수 없습니다.
BTW : 이 프로젝트에서 BackLoad의 WebForms 예제 를 사용 하고 있으며 이것은 Web Forms 프로젝트입니다.
결국 파일 폴더를 임시 폴더로 사용했습니다. 제출시 Files 폴더에 업로드 된 파일을 원하는 폴더로 이동합니다. 그리고 문제가 해결되었습니다.
어쨌든 감사합니다 ...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다