2017-03-04 48 views
0

我在我的應用程序中有一個webview,工作正常,我可以導航並提交標準表單,單擊href等。我有一個問題,我用來下載文件。提交帖子表單時的Android Webview下載文件

中的PHP代碼:

$indice=$_POST['indice']; 
$sql_file="SELECT * FROM files WHERE indice=".$indice; 
$file=$connect->query($sql_file); 
$row=$file->fetch_assoc(); 
header("Content-Type: {$row['type']}\n"); 
header("Content-Disposition: attachment; filename=\"{$row['name']}\"\n"); 
header("Content-Length: {$row['size']}\n"); 
echo base64_decode($row['data']); 

我嘗試管理下載與功能:

public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) 

但不工作,因爲是一個提交的表單顯示這個功能沒有執行,只有當你點擊href或類似的時候纔會執行。

隨着函數「onPageStarted」我可以得到的網址,所以我知道如果我提交下載表單,但我不能看到發佈數據。

如何管理下載?在IOS中,webclient自動地甚至將PDF加載到web客戶端中。

最好的問候。

+0

用[下載管理器](https://developer.android.com/reference/android/app/DownloadManager .html)你可以管理文件下載 –

+0

[下載WebView內的文件]可能的重複(http://stackoverflow.com/questions/10069050/download-file-inside-webview) – Klevi01

+0

我嘗試與下載監聽器,但沒有執行。我使用Log.d進行調試,從不顯示。所以我不能處理一個下載監聽器,並不知道爲什麼 – Roke

回答

0

你只需要你的php文件在提交時下載文件,並在你的應用程序中添加下載監聽器到Webview

反正你的帖子下面的可能重複:

1. Autostart file download after form submission
2. Download File inside WebView

+0

表單的工作原理,我嘗試在我的應用程序之外的鉻客戶端和作品和文件下載,所以我不認爲問題是在表單或提交後。 – Roke

+0

您是否添加了寫入存儲的權限,以便webview可以將下載的文件保存在存儲中? – Klevi01

+0

是的, Roke