2014-12-05 5 views
1

FineUploader를 사용하여 S3에 업로드하고 있습니다. 나는 삭제를 포함하여 모든 것을 가지고있다. 나는 큰 파일을 업로드 할 때, 여러 부분으로 업로드으로 나누어 얻을, 나는 콘솔 (켜져 디버깅)에 다음과 같은 오류가 발생합니다 :FineUploader - S3로 다중 파트 업로드시 오류

Specific problem detected initiating multipart upload request for 0: 'The request signature we calculated does not match the signature you provided. Check your key and signing method.'. 

누군가가 내가 확인해야 것과 올바른 방향으로 날 지점 수 설정 또는 필요한 추가 정보는 무엇입니까?

+0

당신은 많은을 제공해야합니다 귀하의 서버는 '응용 프로그램/JSON'응답의 몸이 에 다음과 같이 응답해야 자세한 정보. 예를 들어, 요청은 어떻게 생겼습니까? 어떤 종류의 고급 업 로더를 사용하고 있습니까? 어떤 종류의 매개 변수가 파일과 관련이 있습니까? –

답변

2

설정, 코드 또는 실패한 요청과 관련이있는 항목이 없으므로 서버가 S3 REST API에 대한 업로드에 대해 적절한 서명 응답을 반환하지 않는 것입니다. 더 큰 파일에 사용됨). 이 유형의 서명 요청에 대한 응답을 생성하는 절차를 검토해야합니다.

다음은 Fine Uploader's S3 documentation에서 관련 섹션의 :

정밀 업 로더 S3가 시작하는 아마존 S3의 REST API를 사용, 업로드, 완벽한 및 다중 업로드를 중단합니다. REST API는 정규 형식의 헤더에 서명하여 인증을 처리합니다. 이 서명 은 서버 측을 구현하는 데 필요한 것입니다. 모든 서버에 을 인증하고 지원되는 청크 업로드를 Amazon에 직접 전송해야합니다. S3는 Fine 업 로더가 S3에 보내는 요청의 헤더를 나타내는 문자열에 서명합니다.

:이 문자열은 서명 요청의 페이로드에서 발견된다 { "헤더":/* 문자열에 서명하기 * /}

이 속성의 존재가 사실이 당신의 단절로 표시 , 정책 문서가 아닌 REST/multipart 요청에 서명하라는 요청입니다.

헤더 문자열에 대한이 서명은 정책 문서 서명과 약간 다릅니다. 서명하기 전에 헤더 문자열 을 base64로 인코딩하면 안됩니다. 서버 측에서 수행해야하는 작업은 AWS 비밀 키를 사용하여 문자열의 HMAC SHA1 서명을 생성 한 다음 base64 결과를 인코딩하는 것입니다.

{ "서명":/* 서명 헤더 문자열 * /}