2010-01-29 115 views
5

我有一個基於drupal的網站,用戶可以登錄並查看私人論壇。這是我想讓我的Android測試版測試人員下載測試版.apk文件的地方。我在基於Android 1.6的myTouch 3G上進行了徹底測試,並且能夠登錄並下載附加到論壇帖子的文件。無法通過web瀏覽器從drupal站點下載.apk

現在來了一個有趣的部分:我的測試人員在Droids和Nexus Ones(Android 2.0.1和2.1)上抱怨說他們的下載失敗了。由於我沒有2.0手機,我在2.0模擬器中試過了,並且看上去沒有用。下載顯示一秒或兩秒的不確定進度,然後顯示「下載不成功」。

根據我在日誌中看到的內容,顯然服務器正在從2.0瀏覽器返回404下載請求。我可以下載到我的桌​​面和1.6手機沒有問題。我能想到服務器將返回404請求的唯一原因是由於某種原因,憑證或cookie未被下載過程傳遞。 logcat中顯示:HTTP錯誤404下載X

一些背景資料: 我說這樣的MIME類型來我的.htaccess: 將AddType應用/ vnd.android.package歸檔APK

我檢查服務器日誌並查看下列失敗的下載: xx.xx.xx.224 - - [28/Jan/2010:20:39:00 -0500]「GET /system/files/grandmajong-beta090.apk HTTP/1.1」404 - 「http://trickybits.com/forums/beta-testing/grandma-jong/latest-version-090-b1」「Mozilla/5.0(Linux; U; Android 1.6; en-us; sdk Build/Donut)AppleWebKit/528.5 +(KHTML,如Gecko)版本/ 3.1.2 Mobile Safari/525.20.1」

回答

0

dr的默認存儲位置升級文件是/ sites/default/files。如果你通過Drupal上傳文件(作爲節點或其他),它將在這裏。您還應該查看文件/sites/settings.php或文件上傳設置(http:/// admin/settings/file-system)以查看文件的存儲位置。

這不是一個MIME類型的問題,所以刪除apk文件的條目,除非你想讓服務器嘗試讀取它們。

+0

謝謝雪橇。是的,該文件絕對存在,我可以通過Firefox在桌面上下載它沒有問題。這個問題似乎在我的網站和某些版本的Android瀏覽器及其下載功能之間。 – Gyuri 2010-02-05 17:08:47

0

作爲2.0+手機(Droid X)的擁有者,我發現我嘗試下載自己的APK時遇到了同樣的問題。我解決了這個問題:奇怪的是,無論出於何種原因,下載Astro文件管理器使我能夠這麼做。

1

這聽起來像是它與我嘗試從我自己的Web服務器提供APK時遇到的一個長期存在的問題有關。這不是MIME問題,它不是文件許可,也沒有路徑故事。就我可以告訴Android瀏覽器中的錯誤而言。我發現使用Apache時,如果我添加一個限制文件/目錄的.htaccess文件,即從瀏覽器下載時希望它提示輸入用戶名/密碼,它會因您描述的錯誤而失敗。刪除.htaccess,一切都很好。當你有一個公共網站時,你想要堅持你的安全測試APK,這並不好。您的網站是drupal - 我會檢查是否有這樣的限制,或者確實如果它不是限制本身,而是存在.htaccess文件,因爲確切原因尚不清楚。

順便說一句,一個優雅的解決方案是使用Dropbox。您可以讓用戶將其安裝到手機上,而當您將APK放到手機上時,他們不僅可以立即得到通知,還可以單擊狀態欄中的鏈接並安裝應用程序,即不需要MIME或服務器完全需要工作。

+0

Dropbox是一個好主意,我會嘗試一下。 – Gyuri 2011-08-01 15:10:34

+0

Dropbox非常棒,至少它是一個可行的解決方案。但是,1)我喜歡將我的所有文件保存在一個地方,2)當我不得不派人到第三方網站下載APK時,這讓我看起來很糟糕。 – Jacksonkr 2013-07-16 13:36:39

0

我知道這是一個老問題,但我現在有同樣的問題。

我發現的唯一解決方法是要求用戶從非內置導航器中下載apk,這非常容易混淆和令人討厭(Opera實際上工作正常)。

如果有人找到了在瀏覽器中構建的解決方案,那麼將會非常感激,如果發佈! :)


另外我注意到:
我在一個局域網內工作,其中服務器是192.168.1.15。我已經在本地計算機的「主機」上解析了域名到服務器地址(如果沒有,則域名解析爲路由器)。在Android中,我還沒有解析域名,所以當內部瀏覽器嘗試導航到域名時,不是解析到服務器,而是根據預期解析到路由器。令人驚訝的是,Opera解決了服務器問題,就像是有代理或類似的東西一樣。至少它的行爲就像流量來自局域網之外。

也許這是讓Opera下載文件的原因。

對不起,如果我的英文不夠好,可以更清楚地解釋,但希望它是可以理解的。