2017-10-04 1 views
0

내 Kitura 서버에서 디스크의 파일을로드하고 싶지만 파일을 찾는 간단한 방법이없는 것 같습니다. 누구든지 서버에 포함 된 파일을 찾는 방법을 제안 할 수 있습니까?Kitura 서버의 리소스 파일을 찾으려면 어떻게합니까?

참고 HTML 페이지처럼 여기 정적 리소스를 제공하는 것은 아닙니다. 디스크에서 서버로 파일을로드하여 데이터로 작업 할 수 있습니다.

답변

1

다른 타사 라이브러리를 사용하지 않는 경우 Foundation의 URL API가 파일 시스템에서 파일을로드 할 때 가장 좋습니다 (Linux에서는 NSBundle이 완전하지 않음). 안타깝게도 서버 응용 프로그램이 시스템의 파일 경로를 알아야하므로 코드 이식성이 악몽이 될 수 있습니다.

+0

감사합니다. Kitura가 이러한 경로 자체를 형성하고 있음을 알 수 있습니다. 그들은 공개하지 않았다고 수치합니다. 내가 직접 코드를 재구성 할 수있을 것 같아. –

+0

@Drew McCormack 일반적인 경로의 예를 볼 수 있습니다 (예 : 상대 파일 경로의 해상도) [여기] (https://github.com/IBM-Swift/Configuration/blob/master/Sources/Configuration/PathUtilities .빠른). 주된 문제는 Swift Package Manager가 아직 리소스 파일 패키징을 지원하지 않는다는 것입니다 (즉, Java를 사용하면 JAR에서 리소스 파일을 번들로 사용할 수 있습니다). 결과적으로 Swift 응용 프로그램 자체는 파일 경로를 사용하여 디스크에서 파일을로드해야하므로 개발 시스템 (예 : macOS)과 런타임 시스템 (즉, Linux Docker 컨테이너)에서 경로가 다를 수 있습니다. –

관련 문제