2014-03-12 38 views
4

我想知道是否有一種方法可以直接從應用程序主頁上傳文件,使用具有HTML表單和文件上傳輸入的UIWebview。iOS UIWebview使用HTML表單從應用程序目錄上傳

我從一個UIWebView加載此:

<form action="test.php" method="post" enctype="multipart/form-data"> 
    <label for="file">Filename:</label> 
    <input type="file" name="file" id="file"><br> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

但iPhone問我是否願意「拍照」或「選擇現有」。我想要做的是選擇應用程序本地目錄中的文檔或圖像。

這可能嗎?

謝謝!

回答

1

我也在尋找答案。我自己挖後看來,唯一的辦法就是:

  • 攔截,當用戶點擊上傳按鈕
  • 添加自定義文件選擇器
  • 然後使用NSURLConnection的,而不是提交表單發送POST請求。
+1

這幾乎是我必須做的才能使其工作。這是我截取並重新配置POST的方法。 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)請求導航類型:(UIWebViewNavigationType)navigationType – Pabs

0

在iOS上,有沒有辦法「瀏覽文件系統」,所以你不能用這樣的形式,UIWebView中附上照片上傳:

你將不得不 -

UIImagePickerController從照片相冊中獲取圖片。

確定用於提交表單

編碼圖像作爲NSData的

收件與NSURLConnection的POST請求與NSData對象的POST頭越來越插入

0

我被具有類似適當的報頭問題,並且我發現IOS中的UIWebView元素不支持html元素:

我不知道爲什麼Apple選擇不支持此重要html元素,但我相信他們有他們的理由。 (儘管這個元素在iOS上的Safari上完美運行)。

在很多情況下,當用戶在UIWebView中點擊這種按鈕時,它會讓他們選擇一張照片。但是,IOS中的UIWebView無法在提交表單時將這種文件附加到POST數據中。

解決方案:要完成相同的任務,您可以使用觸發UIImagePickerController的按鈕在InterfaceBuilder中創建一個類似的窗體。然後,您將創建一個包含所有表單數據和圖像的HTTP POST請求。它並不像聽起來那麼難,請查看下面的鏈接以獲取完成任務的一些示例代碼:ios使用HTTP POST上傳圖像和文本

相關問題