2012-06-07 18 views
5

के साथ फ़ाइल संदर्भ जारी रखें मैं स्थानीय फाइल सिस्टम से मीडिया फ़ाइलों को चलाने की कोशिश कर रहा हूं। उपयोगकर्ता अब 'इनपुट' के माध्यम से एक फाइल का चयन करता है और इसे चलाता है। मैं उस फ़ाइल संदर्भ को जारी रखना चाहता हूं, ताकि जब उपयोगकर्ता अगली बार विज़िट करता है, तो मुझे उसे यह बताने में सक्षम होना चाहिए कि उसने कितनी बार इसे पहले खेला था,एचटीएमएल 5

मुझे या तो फ़ाइल संदर्भ डाउनलोड करना चाहिए सर्वर से या इसे स्थानीय रूप से स्टोर करें .. कोई विचार यह कैसे करना है?

+0

मैं वर्तमान में अस्थायी रूप से इस को हल करने, हर वह फ़ाइलों का चयन करने के लिए उपयोगकर्ता पूछकर/वह वेबसाइट खोलता है। अद्वितीय आईडी के रूप में बाइट्स में आकार का उपयोग करके डीबी में डेटा को सहेजें। – Skeptor

उत्तर

0

डेटाबेस में user.recent_files (केवल नाम) को स्टोर करने के लिए आप क्या कर सकते हैं, और उसे दिखाने के लिए कुछ समेकित गणना करें कि वह उसे कितनी बार देखता है।

आप क्या नहीं कर सकते हैं उसे पहले पढ़ने के लिए पहले पढ़ने वाली फ़ाइल के लिंक पर क्लिक करने की अनुमति देने के लिए, केवल HTML5 के साथ ही मेरा मतलब है।

आरजीडीएस।

1

आप IndexedDB या localStorage का उपयोग कर ऑडियो या वीडियो की जानकारी क्लाइंट के पक्ष में स्टोर कर सकते हैं। स्थानीय संग्रह IMO उपयोग करने के लिए आसान है:

var obj = { 
     "timestamp": new Date(), 
     "title": "Blah Blah", 
     "Performer": "Lady Blahblah" 
    }; 

localStorage["previous"] = JSON.stringify(obj); 

लेकिन लगता है कि आप फ़ाइल के पूर्ण पथ प्राप्त करने में सक्षम नहीं होगा, और यह एक ही फाइल अगली बार खेलने से रोक। एक संभावित समाधान फ़ाइल को Base-64 में संग्रहीत करना है, और इसे सीधे <video> या <audio> में डालना है, जिसे मैं Google Chrome एक्सटेंशन में फ़ाइल संग्रहीत करने के लिए इस विधि का उपयोग कर रहा हूं।

+0

यह पूरे डेटा को सही तरीके से डुप्लिकेट करेगा? ... मैं वर्तमान में गानों के पूरे सेट को चलाने की अनुमति देने के लिए विचार कर रहा हूं .. :( अगर मैं केवल फ़ाइल पथ को स्टोर कर सकता हूं तो यह शानदार होगा – Skeptor

+0

@Skeptor - सुरक्षा कारण के कारण आप पूर्ण पथ को नहीं जान सकते हैं। असल में, डेटाबेस (वेबएसक्यूएल) में सभी गानों को संग्रहित करना एक बुरा विचार नहीं है, क्योंकि यह इसका इरादा है। –

+0

इसलिए कोई विचार यह संकुचित हो जाता है (यदि कोई हो) – Skeptor

1

क्या कोई कारण है कि आपको फ़ाइल को स्टोर करने की आवश्यकता है? जो मैंने पढ़ा उससे यह आपके जैसा लगता है कि बस इसे खेला जाने वाले समय का तालमेल रखने में सक्षम होना चाहते हैं। यह फ़ाइल को केवल हैशिंग करके और फिर स्थानीय स्तर पर फ़ाइल की बजाय फाइल के हैश से जुड़े अपने टैली को पूरा करके पूरा किया जा सकता है।

Google पर मिली किसी व्यक्ति द्वारा जावास्क्रिप्ट एमडी 5 कार्यान्वयन का उपयोग करके संक्षिप्त उदाहरण टिप्पणियों में शामिल है।

http://jsfiddle.net/influenztial/b3b2V/2/

+0

मेरे पास 1000s की फ़ाइलें हो सकती हैं, हैशिंग मुश्किल है: (मुझे एक अस्थायी समाधान मिला, प्रश्न की टिप्पणियों में जोड़ा गया। कृपया इस पर टिप्पणी करें – Skeptor