最近...突然被主管叫去交付了一個任務
原本只是說拉介面(OS: 還好...),沒想到需求越來越大,
結果最後整個專案都變成我在座了嘛!(怒摔桌)
咳...重點不是宣洩怒氣,所以先忍耐吧~_~
http://blog.csdn.net/xiaoguang44/article/details/8073915
首先拍照的部分,我是參考上面這篇,
基本上都已經說得很詳細了,要注意的就是,
FILE_URI 可以改成 DATA_URL (不是很重要)
還有就是 destinationType: navigator.camera.DestinationType.FILE_URI
這最後面可以變成 FIEL_URL, saveToPhotoAlbum: true 啊啊!!
這超級重要的,只要加上這行就可以把照片直接存進相簿,
不然要找暫存資料夾,加上每台手機路徑都不同,
不知道還真的是會把自己累死!
另外像是 sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
可以把 PHOTOLIBRARY 換成 CAMERA 就會變成拍照,這些上網查查就知道,
在這邊會遇到一個問題...就是直接抓手機內存的圖片很容易當機,
恩...這幾天我去問了朋友跟Google的結果...似乎是無解,
雖然我主管說是摳都法版本的問題(原本是2.5.0),
不過換到 2.7.0 之後裡面一些功能都壞掉了嘛~連用都不能用...(還是無解)
所以請乖乖的拍照...
上傳的部分,我是使用 web service (.asmx) 接收 POST 的資料,
至於程式碼...請參照以下網址
https://groups.google.com/forum/?fromgroups=#!topic/phonegap/3XhwEyPnw6I
比較需要注意的是 options.fileKey="recFile" 的名稱必須和接收端的
HttpPostedFile file =
HttpContext.Current.Request.Files["recFile"];相同,才有資料。
至於 ServerURI...請自己先發行好服務,然後引用看看,直接引用會有失敗訊息 ,
因為你只是引用...也沒給他File資料...當然抓不到,但就代表可以接了!
再來就是上傳成功和失敗的 function 部分,會看到大部分例子都是alert();
但其實可以寫其他 function 並傳入你想丟進去的變數,而不是只有例子中的那些。
如:
function win() { document.getElementById('Label1' + i).innerText = "上傳成功"; }
這樣就可以在畫面上直接顯示上傳成功,而不是alert()點下去就忘記上傳結果了!
剩下可能還很多...短短幾天搞出來的,
不過2.7.0的資料來源太少...都是英文,過幾天再看看吧...=..=