2016-01-11 5 views
5

मैं अपनी छवि को S3 पर अपलोड करने के बाद फ़ाइल का लिंक (या फ़ाइल नाम भी ठीक है) प्राप्त करना चाहता हूं। मैं नीचे कोड का उपयोग कर अपलोड और यह काम किया।एस 3 putObject कॉलबैक अपेक्षित वस्तुओं को वापस नहीं कर रहा है

s3Bucket.putObject(data, function(err, data){ 
     if (err) { 
      console.log(err); 
      res.send({result:0}); 
     } else { 
      res.send({result:1}); 
      console.log(data) 
     } 
    }); 

लेकिन कॉलबैक डेटा में इसकी केवल 1 संपत्ति है, etag। दस्तावेज़ में यह स्पष्ट रूप से कहा गया है कि इसमें अन्य वस्तु है, तो मैं अपलोड की गई फ़ाइल का मार्ग कैसे प्राप्त करूं?

उत्तर

3

docs यह इंगित नहीं करता कि ऑब्जेक्ट कुंजी data कॉलबैक पैरामीटर में उपलब्ध होगी।

आप अनुरोध डेटा पर बाल्टी के नाम और params.Key संपत्ति के आधार पर बनाए गए ऑब्जेक्ट के S3 URI को काम कर सकते हैं।

यहाँ कि कैसे करना है putObject कॉलबैक

s3Bucket.putObject(data, function(err, data) { 
    var params = this.request.params; 
    var region = this.request.httpRequest.region; 
    console.log('s3://' + params.Bucket + '/' + params.Key); 
    console.log('https://s3-' + region + '.amazonaws.com/' + params.Bucket + '/' + params.Key) 
}); 
+0

दिलचस्प भीतर से का एक उदाहरण है! बहुत बहुत धन्यवाद! –

+0

यह यूआरएल हमेशा ऐसा होगा? एसडीके से यूआरएल (हस्ताक्षरित नहीं) प्राप्त करने का कोई तरीका होगा? –

संबंधित मुद्दे