2013-07-25 20 views
0

我正在構建一個網站,可以讓用戶將數據存儲爲離線,然後在線時將其上傳。離線數據存儲在瀏覽器內建的indexedDB中。數據量可能會很大,特別是當用戶輸入很長的段落,甚至上傳附件時(編碼爲64位基本字符串)。當用戶連接到互聯網時,他們需要將離線數據上傳到MySQL數據庫。假設他們有一個要上傳的對象數組,並且每個對象可能包含比允許的URL限制長的數據字符串。我知道的唯一解決方案是爲每個對象提交一個表單。因爲使用URL參數發佈到PHP文件將超過URL限制。我想知道:在沒有發佈或提交表格的情況下致電PHP

  1. 是否有可能通過點擊一個按鈕上傳對象數組(> 100MB)?由於對象數量多,最好不要提交表單;
  2. 如果PHP不能這樣做,那麼C#怎麼樣?

謝謝!

+0

如果你使用SOA或REST – bksi

+0

就像[jQuery窗體](http://malsup.com/jquery/form/#file-upload)一樣? –

+1

這與PHP或C#無關,上傳大小限制是服務器配置,POST和GET請求都可以通過ajax完成 – adeneo

回答

0

可以通過服務器修改限制GETPOST,當您要存儲信息以獲得最佳實踐時,應該使用Post動詞,POST動詞默認情況下沒有限制。所以這是你要走的路。

我認爲你所要做的就是使用AJAX的帖子。並使用JSON.stringify以文本形式發送所有javascript對象,然後您可以解析PHP或C#中的json對象,而不會出現任何問題。

最好

這個問題也可以幫到你。 .net webapi HttpGet vs HttpPost. why HttpGet?

0

你應該嘗試在php.ini從PHP配置增加了PHP的限制

增加max_upload_sizemax_file_size參數按您的要求。 PHP可以處理長時間上傳。

我會建議如下,編譯一個文件或一系列文件上傳到服務器而不是純數據。會幫助上傳更穩定,你可以找到不少jQuery php文件上傳模塊。

文件上傳後,將內容從文件中提取出來,並從離線數據庫中刪除數據。

相關問題