2015-06-19 31 views
0

我想將圖像存儲在cookie中,但我不知道這是否是在刷新頁面時保持用戶註冊的最佳方式。將數據從圖像存儲在cookie中

那麼,我正在使用ngCookies模塊來做到這一點。所以我用base64字符串格式收到的圖像從服務器,將contentType和數據,然後我存儲在餅乾:

$cookies.contentType = value.image.contentType; 

$cookies.data = value.image.data; 

爲了讓我的網址我這樣做:

vm.url = "data:"+vm.value.image.contentType+";base64,"+vm.value.image.data; 

和URL我插入我的網頁,使用HTML IMG:

<img src={{ctrl.url}} style="width:200px;height:200px"> 

我的問題是:當我刷新我的頁面時,$ cookies.contentType仍然存在,但value.data不再保存在$ cookies.data中。我認爲這個值太大而不能存儲在cookie中。我正確使用cookie?還有其他方法可以做到嗎?

我很感謝有人能幫助我。

+0

這真的很棒!圖像數據太長,無法存儲爲cookie(限制大約4kb)!仍然,令人印象深刻的是,你甚至不敢這麼做:p – Bwaxxlo

+0

你是否在意使用LocalStorage來達到這個目的? –

+0

現在我正在使用localStorage,它正在工作。謝謝。 –

回答

1

對客戶端存儲使用Cookie通常被認爲是less than ideal。每次請求時都會自動發送Cookie(如果它符合域/路徑/安全限制)。即使cookie的存儲限制可以解決這個問題,我無法想象你會希望在未來的任何請求中發送回來。 LocalStorage and similar technologies是爲了避免這個問題而開發的。

也就是說,http cookie spec最初指出,需要一個cookie到accommodate at least 4096 bytes,然後通常將其解釋爲設置大約4k的最大大小。每個瀏覽器處理這個有點不同,有很多places to read up on it

+0

感謝您的幫助。你是對的。 現在我正在使用這個模塊([link](https://github.com/grevory/angular-local-storage)),並且一切正常。 此致敬禮 –