Picasa自訂圖片上傳功能

posted by 藉口 on March 31st, 2008
 

最近有個專案是開發相片型態網站的前後台,前台(使用者端,以IE、Firefox之類的瀏覽器觀看)是完全的Flash介面,所有元素都以XML來定義,使用者可以自行決定Logo圖片、放置位置,Gallery單元類別可以自訂、選單位置、顏色,縮圖大小、排列方式,全圖大小…等。

Gallery縮圖開發原型
(以上為Gallery單元縮圖呈現開發中原型,由於開發者為了自己眼睛私慾,圖片皆不登大雅之堂,特馬賽克之。)

Flash的部份是還好,反正前陣子也是在摸索Actionscript 3.0,乾脆就把這專案拿來練習,後端的部份是打算以PHP+MySQL的方式,使用者可以自行上傳圖片,圖片會依設定的大小自動生成縮圖,這部分自己寫也是還好,只是以目前Web的技術來說,使用者還是只能一次選擇一張圖片,就算上傳頁面有十個圖片欄位,每個欄位還是需要使用者點選一次,十張圖片就得開十次檔案選擇視窗,非常煩人也非常不user-friendly。

想解決這種煩人的作法,大部分較有資源的人會選擇開發自己的上傳軟體,一次可以選擇複數檔案,一鍵上傳!

不過,我不會寫應用程式(desktop application)…=.=

但是,天無絕人之路,老天真的疼憨人,前幾天讓我發現Google老大是多麼的體貼憨愚老百姓如我,他開放Picasa可以自訂相片上傳功能的API啦!(泣~)

自訂Picasa圖片上傳
你看看你看看,我做的按鈕(最左邊那個),就這麼活生生的與Picasa工作人員做的按鈕排在一塊兒了,真是銷魂,真是黯然啊~~

上傳步驟
上傳照片變得很簡單,只要用滑鼠圈選你所要上傳的所有照片(Step 1),然後按下按鈕(Step 2)。還可以指定上傳頁面,只要把上傳的頁面指向自己寫的相片上傳URL去,按下你自訂的按鈕之後,就會出現在Picasa的mini-browser了。

minibrowser.jpg
在上傳前先讓你即時檢視有那些相片,如果不是你要的,還有反悔的機會。按下Publish之後,就把上傳的事情交給Picasa處理,你的程式只要接收Picasa上傳的資料就行了。 步驟簡化到不行,只要選好圖,按按鈕,上傳!你說好不好用!?好不好用!?(搖晃)

—————————————————————————

製作過程其實沒有想像中複雜,下面稍微簡單紀錄一下。

1. 開啟Photoshop製作按鈕圖示,大小不能超過40×25(pixels,寬x高),底需為透明。當然不透明也可,很醜而已。要注意的是,按鈕的圖層名稱不要隨便亂取,取個有意義的名字,例如icon之類的,後面會用到。
以Photoshop製作按鈕圖示

2. 產生一個專屬的GUID(Global Unique Identifiers),你可以到這裡生一個出來,每個按鈕都要使用獨一無二的GUID。英文好的人可以到這裡看更多有關GUID的介紹。

3. 將剛剛的PSD檔存成{your-GUID}.psd,如果你的GUID是c07c8aab-828e-4513-a08b-2cb5eb41d1ce,那就存成{c07c8aab-828e-4513-a08b-2cb5eb41d1ce}.psd

4. 依照Picasa Button API規定的格式建立一個XML,檔名規則是{your-GUID}.pbf。範例如下:

1
2
3
4
5
6
7
8
9
10
11
<?xml  version="1.0" encoding="utf-8" ?>
<buttons format="1" version="version_number">
  <button id="buttonid" type="dynamic">
    <icon name="PSDfile/layername" src="pbz"/>
    <label>Button Label</label>
    <tooltip>Tooltip text goes here.</tooltip>
    <action  verb="open"|"trayexec"|"hybrid">
      <param name="name" value="value"/>
    </action>
  </button>
</buttons>

5. 將這兩個檔案以ZIP壓縮,檔名隨意,但副檔名需為.pbz

6. 在你的網頁放上一個連結(注意:該連結需實際存在網路,本機測試會無法加入Picasa),格式如下:

Add the <a href=”picasa://importbutton/?url=http://www.acme-inc.com/acme-inc-photo-uploader.pbz”> Acme Inc. Uploader</a>to Picasa

說明:
6.1 version_number是你的版本號碼,你自己決定。
6.2 buttonid格式是{your-GUID}。
6.3 PSDfile/layername格式是{your-GUID}/按鈕圖層名稱(第一點有說到)。
6.4 Button Label是按鈕的文字,會顯示在Picasa的按鈕上。
6.5 Tooltip text goes here.是說明文字,當滑鼠停在你的按鈕時會顯示的說明文字。
6.6 action的verb屬性值,如果你和我一樣是要做圖片上傳網路的服務,那就是hybrid。
6.7 param的部份,如果是與我一樣的圖片上傳服務,格式如下:

<param name=”url” value=”http://your-domin/your-uploader-program”/>

7. 點下連結之後,Picasa就會問你是否要加入該按鈕了!按鈕到此就算完成。

順利在Picasa上加入了你的按鈕,可是按了按鈕Picasa不知道要把檔案傳給誰啊,要存到哪呀,這些都是你要自己寫的。Google的Picasa真的是貼心得銷魂,他幫你寫好Sample(API說明看下面的參考資料連結),你只要依據你的需求改一改就能動了。

參考資料:
1. Picasa Button API
2. Picasa Web Uploader API
3. Create Global Unique Identifiers (GUIDs) online



Technorati : , , , , ,

 
 

 

1 Response

001: 沒效率的夜晚 » .::: November ::: 拾壹 :::.,

April 1st, 2008 at 1:25 am

[…] 今天搞定了Picasa2的自訂按鈕部份,接下來就是後台程式的撰寫了。 […]

 





  • бизнес, бизнес идеи, идеи для бизнеса, идеи бизнеса
  • бизнес идеи, идеи для бизнеса, идеи бизнеса, бизнес
  • бизнес план, бизнес планы
  • бизнес план, бизнес планирование
  • создание бизнеса
  • создание бизнеса
  • генерация бизнес идей, список бизнес идей, как генерировать
  • генерация бизнес идей, список бизнес идей, как генерировать
  • идеи малого бизнеса, идеи для малого бизнеса
  • идеи малого бизнеса, идеи для малого бизнеса
  • идеи для домашнего бизнеса, идея домашнего бизнеса
  • идеи для домашнего бизнеса, идея домашнего бизнеса
  • бизнес
  • философия успеха
  • работа дома, надомная работа, работа на дому
  • работа дома, надомная работа, работа на дому
  • как устроиться на работу
  • интернет-работа дома, интернет работа, работа в интернете дома
  • лучшая работа дома, надомная работа, работа на дому
  • лучшая интернет-работа дома, интернет работа, работа в интернете дома
  • работа в Днепропетровске, работа Днепропетровск
  • работа Днепропетровск, работа в Днепропетровске
  • работа в Одессе, работа Одесса
  • работа в Одессе, работа Одесса
  • работа в Киеве, работа Киев
  • работа в Киеве, работа Киев
  • работа в Харькове, работа Харьков
  • работа Харьков, работа в Харькове
  • мягкая мебель в Днепропетровске, мягкая мебель Днепропетровск
  • матрацы Днепропетровск, матрасы Днепропетровск
  • мягкая мебель Днепропетровск, мягкая мебель в Днепропетровске
  • диваны Днепропетровск, диваны в Днепропетровске
  • фабрика Creale
  • мягкие уголки Днепропетровск, мягкие уголки в Днепропетровске
  • фабрика Romira
  • шкафы-купе Днепропетровск, шкафы-купе в Днепропетровске
  • кухни Днепропетровск, кухни в Днепропетровске
  • мебель Днепропетровск, мебель в Днепропетровске
  • детские Днепропетровск, детские в Днепропетровске
  • кровати Днепропетровск, кровати в Днепропетровске
  • спальни Днепропетровск, спальни в Днепропетровске
  • мебельные магазины Днепропетровск
  • фабрика Скай
  • кухонные уголки в Днепропетровске, кухонные уголки Днепропетровск
  • прихожие в Днепропетровске, прихожие Днепропетровск
  • компьютерные столы Днепропетровск, компьютерные столы в Днепропетровске
  • VIP подарки, VIP сувениры, сувениры и подарки
  • VIP подарки, VIP сувениры, сувениры и подарки
  • подарки для мужчин, подарки мужчине
  • подарки мужчине, подарки для мужчин
  • бизнес подарки, бизнес сувениры
  • бизнес сувениры, бизнес подарки
  • оригинальные подарки, оригинальные сувениры
  • оригинальные сувениры, оригинальные подарки
  • необычные подарки, необычные сувениры
  • необычные сувениры, необычные подарки
  • интернет-магазин сувениров, интернет-магазин подарков
  • интернет магазин подарков, интернет магазин сувениров
  • 
     
  • , , , , , , - , , , ,