2012-03-27 111 views
2

假設我在遠程服務器上有一個網頁(說filebrowse.html),有一個瀏覽文件按鈕,我想通過UIWebView訪問此頁面並從我的畫廊上傳照片。 (畫廊在iPhone上)使用UIWebView上傳一張照片

這可能嗎?

回答

0

嗯 - 有趣。您是否嘗試過在本地Safari中訪問該頁面?它會讓你瀏覽電話嗎?如果沒有(我假設你在這裏構建一個應用程序),你可以使用一個POST到問題表單(使用curl和瀏覽器Web檢查器來計算出你需要的參數等)。

+0

使用<input type="file" />是的,我可以有能力從Safari和我的應用程序也訪問,你有什麼想法,你可以與我分享。感謝 – 2012-03-27 12:12:51

+0

如果您能夠在Safari中實現並實際上傳文件,那麼UIWebView也會這樣做。只需告訴UIWebView(可能在代碼中)專門加載該URL。 – 2012-03-27 12:16:03

+0

沒有在我的應用程序文件瀏覽器按鈕被禁用,我可以添加一個事件,當用戶點擊該禁用的按鈕? – 2012-03-27 12:20:46

1

在iOS上,無法「瀏覽文件系統」,因此無法使用UIWebView中的表單來附加上傳照片。答案是頗爲曲折,但這裏有雲:

你將不得不 -

  1. 的UIImagePickerController獲得從照片相冊的圖片。
  2. 確定POST標頭的提交表單
  3. 編碼圖像作爲NSData的
  4. 寫有NSURLConnection的POST請求與NSData對象越來越插在正確的頭文件

我真的不能給你所有的代碼,因爲它需要被分解成所有這些步驟。

+0

感謝您的回答,你寫的什麼步驟我可以做我唯一的問題是如何觸發事件,當用戶點擊文件瀏覽器按鈕在ios端。 – 2012-03-28 04:47:59

+0

UIWebView的委託對象詢問它是否應該加載一個URL,告訴你何時加載一個URL,以及URL何時加載完成或加載失敗。如果觸摸網頁中的按鈕會導致網頁加載新的URL,則可以使用委託方法找出其意圖並在那裏攔截它,然後調用UIImagePickerViewController。 UIWebView也有一些粗糙的javaScript功能,但實際上沒有辦法監視UIWebView內部發生的事情。 – Justin 2012-03-28 17:16:43

0

可能this會有所幫助,它表明你如何選擇從網頁視圖中的照片沒有在<form></form>

+0

這將僅選擇圖像... – Alwin 2017-10-21 16:36:15