2008-10-02 29 views
7

Tôi đang làm việc trên dự án công cụ ứng dụng của Google.Tải lên hình ảnh cùng với công cụ ứng dụng của Google?

Ứng dụng của tôi đang hoạt động và tìm chính xác cục bộ, nhưng khi tôi cố gắng tải lên hình ảnh trong thư mục hình ảnh, chúng sẽ không được hiển thị tại appspot.

như một chút rắc rối-shoot, tôi đặt một trang html trong "/images/page2.html" và tôi có thể tải trang đó tại appspot, nhưng các trang của tôi không hiển thị hình ảnh của tôi. Vì vậy, nó không phải là một vấn đề với con đường của tôi.

Là một kiểm tra sanity khác, tôi cũng đang tải lên một thư mục biểu định kiểu có mã .css trong đó và được đọc đúng cách.

Tôi có nghi ngờ rằng sự cố nằm trong tệp yaml của tôi.

Bất kỳ ý tưởng nào?

Tôi không muốn dán tất cả mã ở đây, nhưng dưới đây là một số dòng chính. hai công việc đầu tiên tốt. thứ ba không hoạt động.

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

Đây là tập tin app.yaml tôi

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

Xin chào, bạn đã giải quyết được vấn đề của mình chưa? Tâm trí để chia sẻ cách bạn giải quyết nó? – GMsoF

Trả lời

2

Tôi sẽ đặt cược vấn đề của bạn là bạn đang sử dụng Windows.

Nếu đúng như vậy, tôi tin rằng bạn cần dấu gạch chéo trước cho giá trị static_dir của mình.

+0

Điều này thật thú vị - tôi mới bắt đầu công việc và bây giờ tôi muốn về nhà để thử điều này. Tôi sẽ kiểm tra lại (nhưng có thể là thứ hai) với bản cập nhật. BTW, có tài liệu nào cho những gì bạn đang nói về điều mà tôi có thể đã bỏ qua ở đâu đó không? – Baltimark

0

@jamtoday Dấu gạch chéo trước đó không tạo ra sự khác biệt, nhưng nó đã giúp tôi bắt đầu tìm ra những gì mỗi ứng dụng cần được cho biết về cấu trúc thư mục của tôi.

Vì vậy, tôi không có gì hết sức thuyết phục để thêm, nhưng tôi muốn theo dõi, bởi vì tôi đã làm việc, nhưng tôi đã không khám phá tất cả các vấn đề sau khi tôi làm việc đó.

Một thay đổi đã giúp dừng hoạt động từ thư mục HwlloWorld/src/và bắt đầu làm việc trong thư mục HelloWorld /. Có vẻ như dev_appserver đã chọn tất cả các phụ thuộc, nhưng máy chủ từ xa thì không. Về cơ bản, đường dẫn tương đối của các liên kết cục bộ của tôi không khớp với đường dẫn tương đối của các liên kết sau khi tải lên.

Tôi cũng nhận ra rằng dev-appserver dựa vào tệp .yaml, cũng như tập lệnh appcfg. Đó là. . .if bạn thêm một thư mục vào dự án của bạn, và sau đó thử liên kết đến các tệp trong thư mục đó, bạn cần phải thêm thư mục vào tệp .yaml và sau đó khởi động lại máy chủ ứng dụng dev để nhận về điều này. Vì vậy, có thể có nhiều cách để xử lý những gì ban đầu tôi đang cố gắng làm nếu bạn cung cấp thông tin đúng .yaml, nhưng thay đổi thành một cấu trúc thư mục khác đã xử lý cục bộ nó cho tôi.

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

dòng này không thể hiển thị cho bạn hình ảnh. Hãy thử điều này một:

1-Tạo một lớp học để xử lý "yêu cầu hình ảnh"

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

2-Trong page.html của bạn:

<img src="/image" 

3-Tại chức năng chính trong bạn mã.py:

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

vui chơi

+0

Chữ "2" của bạn có được viết hoàn toàn hay bị cắt? Có vẻ như bạn đang cố gắng tạo một lớp GetImage chung, nhưng bạn cho nó biết hình ảnh thực tế ở đâu? Điều gì sẽ xảy ra nếu tôi muốn hiển thị "image1.jpg" ở một nơi và "image2.jpg" ở một nơi khác. Các cuộc gọi html là gì? – Baltimark

1

Tôi đang sử dụng phiên bản Java Công cụ ứng dụng và tôi gặp phải sự cố tương tự với máy chủ không thể phân phát hình ảnh tĩnh.

gì làm việc cuối cùng là thay đổi tập tin cấu hình AppEngine "appengine-web.xml" trong trường hợp của tôi có chứa

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

Ảnh của tôi nằm trong thư mục/images và HTML và CSS trong. thư mục ở cấp WEB-INF

Các vấn đề liên quan