का उपयोग कर निम्नलिखित डेल्फी XE2 (अपडेट 4) कोड का उपयोग करना:SignatureDoesNotMatch त्रुटि जब सामग्री प्रकार है 'पाठ/*' TAmazonStorageService.UploadObject
var
ConInfo: TAmazonConnectionInfo;
RespInfo: TCloudResponseInfo;
Service: TAmazonStorageService;
Content: TBytes;
Headers: TStringList;
begin
ConInfo:=TAmazonConnectionInfo.Create(self);
ConInfo.AccountName:='YOUR ACCOUNT NAME';
ConInfo.AccountKey:='YOUR ACCOUNT KEY';
ConInfo.Protocol:='http';
Service:=TAmazonStorageService.Create(ConInfo);
RespInfo:=TCloudResponseInfo.Create;
SetLength(Content, 128);
FillMemory(@Content[0], 128, Byte('x'));
Headers:=TStringList.Create;
Headers.Values['Content-type']:='text/plain';
if not Service.UploadObject('YOUR BUCKET', 'test.txt', Content, TRUE, nil, Headers, amzbaPrivate, RespInfo) then
ShowMessage('Failed:' + RespInfo.StatusMessage);
मैं हमेशा UploadObject को फोन पर कोई त्रुटि मिलती है:
विफल: HTTP/1.1 403 निषिद्ध - अनुरोध हस्ताक्षर हमने गणना की है आपके द्वारा प्रदान किए गए हस्ताक्षर से मेल नहीं खाता है। अपनी कुंजी जांचें और विधि पर हस्ताक्षर करें। (हस्ताक्षरDoesNotMatch)
यह तब होता है जब सामग्री-प्रकार 'टेक्स्ट/सादे', 'टेक्स्ट/एचटीएमएल', या टेक्स्ट कुछ भी पर सेट होता है। बिल्कुल उसी कोड का उपयोग करना, यदि आप सामग्री-प्रकार को किसी अन्य सामग्री-प्रकार में बदलते हैं, उदा। 'वीडियो/3 जीपीपी', तो यह अपेक्षित और त्रुटि के बिना काम करता है। अपलोड किए जा रहे ऑब्जेक्ट की वास्तविक सामग्री प्रासंगिक नहीं है और त्रुटि प्राप्त करने पर कोई असर नहीं है या नहीं।
मैंने डेल्फी में इंडी कोड के माध्यम से पता लगाया है, लेकिन मुझे लगता है कि टेक्स्ट सामग्री प्रकार हमेशा यह त्रुटि क्यों देता है।
कोई विचार?
खुश है कि आप इसे स्वयं ठीक करने में सक्षम थे। टेक्स्ट/एचटीएमएल को पुनः लोड करने का प्रयास करते समय यह वही समस्या है। उस समय मैंने केवल "एचटीएमएल" का सहारा लिया - लेकिन फिर इंटरनेट एक्सप्लोरर को फाइलें देखने में समस्याएं थीं। साझा करने के लिए धन्यवाद !!!!! –