내가 URL 192.168.1.200:8080/index.html
작동하지만 192.168.1.200:8080
또는 192.168.1.200:8080/
를 사용하는 경우 404 Not Found
를 제공 virDir.serveRequest(request);
에 의해 요청을 제공하는 간단한 다트 HTTP 서버 실행이 작동하지 않습니다. 나, 아마 naively, 비록 기본값은 자동이었다. BTW 이것은 나에게 모두 새로운 것입니다.다트 HTMLrequest 기본값은
HTMLServer의 기본 설정을 알지 못했지만 어떻게 완성 되었습니까?
내가 기본값을 사용하여 사용을 감지하고 올바른 파일 이름을 계산 할 수있었습니다하지만 브라우저로 전달하는 방법을 이해하지 않습니다
(편집) :
_processRequest(newPath, request) { // new path is index.html
File file = new File(newPath);
file.exists().then((found) {
if(found) {
file.openRead().pipe(request.response); // probably dies here
}
else {
_send404(request.response);
}
});
}
여전히 index.html 파일을 제공 할 수 없습니다. VirtualDirector.serveFile()을 사용해 보았지만 기본 index.html 파일을 처리하려고 할 때 작동하지 않습니다. 나는 예를 따라하려고 시도했다.
final HTTP_ROOT_PATH = Platform.script.resolve('../web').toFilePath();
final virDir = new VirtualDirectory(HTTP_ROOT_PATH)
..jailRoot = false // process links will work
..followLinks = true
..allowDirectoryListing = true;
var dir = new Directory(virDir.root);
var indexUri = new Uri.file(dir.path).resolve('/index.html');
virDir.serveFile(new File(indexUri.toFilePath()), request);
I 출력이) ('/index.html이를'이 인쇄 indexUri.toFilePath을 실행하면
내 코드 인와/SRV/fireimager/bin 및 /는 SRV/fireimager/웹에서 후자의 가상 디렉터리 루트. 사용자가 url에 /index.html을 지정하지 않았다는 것을 감지하면 아무런 에러도 발생하지 않으며 javascript 콘솔에 아무 것도 표시되지 않으므로 브라우저에 아무 것도 전달되지 않습니다.
분명히 VirtualDirectly.serveFiler를 사용하는 방법을 이해하지 못합니다.
아파치를 사용하는 경우 http://127.0.0.1/ 또는 http : // localhost –
비슷한 질문이 있습니다. (조금 구식이긴하지만) http://stackoverflow.com/questions/13081740 –
해당 링크가 도움이되었습니다. 나하지만 적어도 논리 오류가 있습니다. –