플레이어 이미지를 표시하라는 지시가 있습니다. 플레이어 id를 작은 파이썬 스크립트로 보내어 id가있는 이미지가 ajax 호출을 통해 존재하는지 확인합니다. 이미지가 있으면 이름을 반환해야합니다.IIS7의 AngularJS 앱용 서버 측 Python 스크립트
아이디를 정면에서 스크립트로 보내고 이미지 이름을 찾는 데 성공했습니다. 문제는 파일 이름을 올바르게 반환하지 못하는 것입니다. 오류가 발생합니다 :
HTTP 오류 502.2 - 잘못된 게이트웨이 지정된 CGI 응용 프로그램이 전체 HTTP 헤더 집합을 반환하지 않아 잘못 처리되었습니다. 반환 된 헤더는 "HCP_23108_SmithKen.png"입니다. - 잘못된 게이트웨이 HTTP 헤더의 완전한 세트를 반환하지 않는 방법으로 추문 지정한 CGI 응용 프로그램
HTTP 오류 502.2 :
내가 헤더를 추가하는 경우
, 난 여전히 오류가 발생하고있다. 반환 된 헤더는 "Content-type : text/html; charset = utf-8 HCP_23108_SmithKen.png"입니다.내가했던 Python on IIS: how?
내 질문에 어떻게 아약스는 파이썬 프레임 워크없이 제대로 GET 요청을 수행 할 수 있습니다를 수행하여 IIS7의 처리기 매핑에 사용 가능 CGI? 감사합니다
지침 :
myDirectives.directive('headshot', function ($http) {
return {
restrict: 'AE',
scope: {
lastProID: '@lastproid'
},
template: '<img ng-src="{{proImg}}" class="headshot">',
link: function (scope, element, attrs) {
//scope.id = scope.lastProID;
attrs.$observe('lastproid', function (id) {
scope.id = id;
var src = 'img/bios/nophoto.png';
scope.proImg = (src);
var url = 'bioPhoto/bioPhoto.py';
$http.get(
url,
{
params: {'id': scope.id}
})
.success(function (data) {
var src = 'img/bios/' + data;
scope.proImg = (src);
})
.error(function (error) {
});
});
}
};
});
bioPhoto.py 스크립트 :
import fnmatch
import os
rootPath = './img/bios/'
query_string=os.environ["QUERY_STRING"]
id=query_string.split("id=",1)[1]
id=id.strip()
pattern = "*" + id + "*"
print ('Content-type: text/html; charset=utf-8')
for root, dirs, files in os.walk(rootPath):
for filename in fnmatch.filter(files, pattern):
filename=filename.strip()
print(filename)