2008-10-02 16 views
7

मैं एक Google ऐप इंजन प्रोजेक्ट पर काम कर रहा हूं।Google ऐप इंजन के साथ छवियों को अपलोड करना?

मेरा ऐप काम कर रहा है और स्थानीय रूप से सही दिख रहा है, लेकिन जब मैं छवि निर्देशिका में छवियों को अपलोड करने का प्रयास करता हूं, तो उन्हें ऐपस्पॉट पर प्रदर्शित नहीं किया जा रहा है।

थोड़ा परेशानी-शूट के रूप में, मैंने "/images/page2.html" में एक HTML पृष्ठ डाला है और मैं उस पृष्ठ को ऐपस्पॉट पर लोड कर सकता हूं, लेकिन मेरे पृष्ठ मेरी छवियां प्रदर्शित नहीं करते हैं। तो, यह मेरे रास्ते में कोई समस्या नहीं है।

एक और सैनिटी चेक के रूप में, मैं इसमें स्टाइलशीट निर्देशिका भी अपलोड कर रहा हूं। इसमें सीएसएस कोड है, और इसे ठीक से पढ़ा जा रहा है।

मुझे संदेह है कि समस्या मेरी यम फ़ाइल में निहित है।

कोई विचार?

मैं यहां सभी कोड पेस्ट नहीं करना चाहता, लेकिन यहां कुछ प्रमुख रेखाएं हैं। पहले दो काम ठीक है। तीसरा काम नहीं करता है।

<link type="text/css" rel="stylesheet" href="/stylesheets/style.css" /> 
<a href="/images/Page2.html">Page 2</a> 
<img src="/images/img.gif"> 

यह मेरा app.yaml फ़ाइल

application: myApp 
version: 1 
runtime: python 
api_version: 1 

handlers: 
- url: /stylesheets 
    static_dir: stylesheets 

- url: /images 
    static_dir: images 

- url: /.* 
    script: helloworld.py 
+0

हाय पर है, क्या आपने अपनी समस्या हल की है? यह साझा करने के लिए मन कि आप इसे कैसे हल करते हैं? – GMsoF

उत्तर

2

मैं तुम्हारी समस्या शर्त जाएगा कि आप Windows का उपयोग कर रहे है।

यदि ऐसा है, तो मेरा मानना ​​है कि आपको अपने static_dir मान के लिए पिछले स्लैश की आवश्यकता है।

+0

अब यह दिलचस्प है - मैं अभी काम में आया हूं, और अब मैं इसे आजमाने के लिए घर जाना चाहता हूं। मैं अपडेट के साथ वापस जांच करूंगा (लेकिन यह सोमवार हो सकता है)। बीटीडब्ल्यू, क्या आप इस बारे में बात कर रहे हैं कि दस्तावेज है कि मैंने कहीं अनदेखा किया होगा? – Baltimark

0

@jamtoday पिछले स्लैश में कोई फर्क नहीं पड़ता था, लेकिन मुझे यह पता लगाना शुरू हुआ कि प्रत्येक ऐप को मेरी निर्देशिका संरचना के बारे में क्या बताया जाना चाहिए।

तो, मेरे पास जोड़ने के लिए कुछ भी निर्णायक नहीं है, लेकिन मैं इसका पालन करना चाहता था, क्योंकि मुझे यह काम मिल गया, लेकिन मैंने इसे काम करने के बाद सभी मुद्दों का पता नहीं लगाया।

एक परिवर्तन जिसने मदद की है HwlloWorld/src/निर्देशिका से काम करना बंद करना और हैलोवर्ल्ड/निर्देशिका में काम करना प्रारंभ करना। ऐसा लगता है कि dev_appserver ने सभी निर्भरताओं को उठाया, लेकिन दूरस्थ सर्वर नहीं था। अनिवार्य रूप से, मेरे स्थानीय लिंक का सापेक्ष पथ अपलोड करने के बाद लिंक के सापेक्ष पथ से मेल नहीं खाता था।

मुझे यह भी एहसास हुआ कि dev-appserver .yaml फ़ाइल, साथ ही साथ appcfg स्क्रिप्ट पर निर्भर करता है। अर्थात्। । अगर आप अपनी प्रोजेक्ट में एक निर्देशिका जोड़ते हैं, और फिर उस निर्देशिका में फ़ाइलों से लिंक करने का प्रयास करते हैं, तो आपको निर्देशिका को .yaml फ़ाइल में जोड़ने की आवश्यकता है, और फिर इसे लेने के लिए dev-appserver को पुनरारंभ करें।

तो, अगर आप मूल रूप से .yaml फ़ाइल को सही जानकारी देते हैं तो इसे संभालने के लिए संभवतः संभवतः तरीके हैं, लेकिन एक अलग निर्देशिका संरचना में बदलकर स्थानीय रूप से इसे मेरे लिए संभाला जाता है।

0
<img src="/images/img.gif"> 

यह लाइन आपको छवि नहीं दिखा सकती है। प्रयास करें यह एक:

1-बनाएँ वर्ग "छवि अनुरोध" को संभालने के लिए

class GetImage(webapp.RequestHandler): 
     def get(self): 
     self.response.headers['Content-Type'] = 'image/jpg' 
     self.response.out.write(image_object) 

अपने page.html 2-में:

<img src="/image" 

में मुख्य समारोह 3-पर अपने कोड।py:

application = webapp.WSGIApplication(('/image', GetImage), debug=True) 

मज़ा

+0

क्या आपका "2" पूरी तरह लिखा गया है या इसे काट दिया गया है? ऐसा लगता है कि आप एक सामान्य GetImage क्लास बनाने की कोशिश कर रहे हैं, लेकिन आप इसे वास्तविक छवि कहां कहें? क्या होगा यदि मैं एक स्थान पर "image1.jpg" प्रदर्शित करना चाहता हूं, और दूसरे में "image2.jpg" प्रदर्शित करना चाहता हूं। एचटीएमएल कॉल क्या हैं? – Baltimark

4

आप इस तरह के चित्र और सीएसएस फ़ाइलों के रूप में स्थिर सामग्री के लिए app.yaml कॉन्फिगर करना

उदाहरण:

url: /(.*\.(gif|png|jpg)) 
    static_files: static/\1 
    upload: static/(.*\.(gif|png|jpg)) 

अधिक जानकारी के लिए देखें: http://code.google.com/appengine/docs/configuringanapp.html

1

मैं जावा संस्करण का उपयोग कर रहा हूँ ऐप इंजन का, और मुझे सर्वर के साथ एक समान समस्या का सामना करना पड़ा जो स्थिर छवियों को प्रस्तुत करने में सक्षम नहीं था।

क्या अंततः काम मेरे मामले में AppEngine कॉन्फ़िग फ़ाइल "appengine-web.xml" बदलने के लिए शामिल करने के लिए

<static-files> 
<include path="**.*"/> 
    <include path="/images/**.*" /> 
</static-files> 

मेरी छवियाँ में हैं/छवियों निर्देशिका और HTML और सीएसएस में हैं था। निर्देशिका जो वेब-आईएनएफ स्तर

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