2013-09-22 96 views
1

嗨,謝謝你的任何建議,如何獲取我上傳文件的網站的網址?

我做了功課,並試圖找到一個關於SO和周圍的答案,但到目前爲止,我一直無法找到解決方案。

我試圖建立某種形式的文件管理器,以允許用戶上載網站上的文件(任何網站,例如附件添加到雅虎郵件的郵件...)

所以我的應用程序註冊過濾器以便當瀏覽器請求文件上傳應用程序時打開並將文件提供給請求者(Web瀏覽器)。

我的問題是: 有沒有辦法讓我檢索文件上傳到的網站的網址?

+0

我不確定我是否理解這個問題 - 你的意思是,你需要找到你要上傳的網站的網址是什麼?我想可能只是有一個存儲列表將工作最簡單。 – Mike

+0

@Mike是的,我需要我上傳到網站的網址。 Bu我提前知道這些URL,因此當應用程序將文件傳遞給瀏覽器時,我必須稍微抓住它們。 –

+0

必須有任何信息傳遞給您。程序能夠「路由」文件,例如雅虎郵件。你從用戶那裏得到什麼信息? – jboi

回答

1

我不確定我目前是否瞭解您的問題。我的答案是與的假設相關:你想有一個直接下載的URL到已上傳的文件,並且你希望在未來某個時候使用這個URL來下載該文件...

I恐怕沒有辦法獲得這樣的信息。

有在已上載於獲取URL到文件的許多障礙:

  • 存在,在這個韻律被送到沒有任何系統的廣播/事件
  • 即使上載過程是從您自己的應用程序管理和啓動您自己的應用程序WebView - 您上傳的網站不一定爲您提供上傳文件的網址信息。我確信像雅虎這樣的公司不會爲你提供這個網址。
  • 如果這還不夠 - 根本沒有這樣的網址! 事實是,您上傳的服務器並不是對上傳的文件做任何事情,或者只是不公開使用url進行公開訪問。

從我所提到的,開發的應用程序,你的理由,只能用服務器,提供對文件上傳自己的API,並返回URL作爲響應來完成。當然每個服務器都有自己的API(如果有的話),你應該用你自己的語言來支持你想要支持的每一臺服務器。如果你想支持大部分的大網站,這種任務是不可能的......

1

我有類似的問題,我怎樣才能得到我的文件上傳的URL。答案很簡單,在於你的Android代碼。

要將文件上傳到某個地方,您需要知道服務器/網站的URL。

因此,可以說你是上傳文件到

www.yoursite.com/appdatafolder/ 

上傳到文件到指定的地址,你必須有一個php script file sitting there,這將用於將數據上傳你的Android代碼進行通信。

讓我們考慮的地址是:

www.yoursite.com/appdatafolder/upload.php 

現在就看你的代碼放在你怎麼寫你的PHP腳本,在我的情況,我也發送文件的名稱upload.php文件,你可以如果你想要忽略它,或者你的腳本遵循一些其他的算法。

比方說,你要上傳importantfile.txt,所以要上傳的文件的URL 變得

www.yoursite.com/appdatafolder/upload.php?filename="importantfile.txt" 

您需要提供給用戶,以便to download the file地址變爲:

www.yoursite.com/appdatafolder/importantfile.txt 

現在你可以做的是將此地址保存在手機的本地數據庫中,並在用戶希望下載文件時使用。

如果你害怕確保可訪問的文件/文件下載

www.yoursite.com/appdatafolder/ 

可以使用htaccess的。有很多其他的安全機制可以保護服務器上的數據免受黑客攻擊。 htaccess是最簡單的例子。

因此,這是解決您的問題最簡單和無驅動的方式。

如果你願意,我可以提供我使用的php腳本。

希望這會有所幫助。

1

如果他們在網站上沒有安全層,應用程序的數據嗅探可能是一種解決方案。你也可能需要處理像gzip這樣的內容編碼。

您需要過濾結果。這很容易做到:您只需要看OSI model中的application level。 然後,如果您知道相關站點的IP地址或主機名,則可以應用第二個過濾器。

如果您知道request method,甚至還有一個過濾器。但大部分時間是獲得或發佈。