कोई विशेषज्ञ नहीं, लेकिन मैंने इसे आज़माया और आपके लिए एक उदाहरण काम किया। आपने अपने प्रश्न में पर्याप्त जानकारी प्रदान नहीं की है, इसलिए मैं खरोंच से शुरू करने जा रहा हूं।
मैंने आधिकारिक github रेपो और प्रदान किए गए नमूनों का पालन किया और मुझे फ़ाइल निर्देशिका को एक विशिष्ट निर्देशिका में सहेजने के लिए कुछ बदलाव करना पड़ा, फिर उन हिस्सों को एक साथ वापस सिलाई करने के लिए और अधिक अनावश्यक हटाने के लिए और अधिक tweak बाद में भाग। स्पष्ट रूप से ये सभी tweaks कोड में प्रदान किए गए संकेत हैं, और कहीं और मैंने ब्राउज़ किया है। स्पष्ट रूप से flow.js एक समान तंत्र का उपयोग भी कर रहा है (पूरी तरह से सुनिश्चित नहीं)।
मुझे मूल रूप से ब्राउज़र से फ़ाइलों को अपलोड करने में सक्षम होने के लिए app.js
को नमूने में बदलने की आवश्यकता है और फिर उन्हें स्थानीय रूप से सहेजें।
- दर्रा निर्देशिका स्थान से शुरू करने योग्य है, जहां फ़ाइल मात्रा में जोड़ा जाना चाहिए
- आवश्यक शर्तों और आदेश प्रदान करें, ताकि जब मात्रा अपलोड किया जाता है, तो आप एक लिखने स्ट्रीम बनाने के लिए और फिर मात्रा एक साथ सिलाई और उन्हें बचाने के लिए पुन: प्रारंभ योग्य का उपयोग मूल फ़ाइल के रूप में।
- अंत में हटाने के सभी हिस्सा
निर्देश gist उपयोग करने के लिए एक्सप्रेस-ऐप (आप आधिकारिक GitHub नमूना चेकआउट और परिवर्तन करने या आप नीचे दिए गए निर्देशों का पालन कर सकते कर सकते हैं) काम कर पाने के:
- एक निर्देशिका
- बनाएं निर्देशिका में app.js, सार से resumable.js और पुन: प्रारंभ योग्य-Node.js बनाएं
- कॉपी/पेस्ट
package.json
और एक NPM प्राप्त करने के लिए स्थापित करना मॉड्यूल (या मैन्युअल npm install
इन express
, path
, fs
, connect-multiparty
)
- मुख्य अनुप्रयोग निर्देशिका में
uploads
निर्देशिका बनाने और इसे लिखने योग्य है सुनिश्चित करें
- कॉपी/अतीत कि के रूप में
icons
शामिल here से public
निर्देशिका और index.html
अपलोड करने के लिए
49
या 50
पंक्ति में target
मान बदलें।सार्वजनिक निर्देशिका में एचटीएमएल जो आपने अभी आपके सर्वर पते में कॉपी किया है http://localhost:3000/upload
- आप index.html में खंड आकार, एक साथ चंक अपलोड आदि की संख्या को ट्विक कर सकते हैं, लेकिन मैंने उन्हें डिफ़ॉल्ट रूप से छोड़ा (वास्तव में, मैं भागों को 3 से 4 में बदल दिया)
- उपर्युक्त सभी को पूरा करें, तो आप जाने के लिए अच्छे हैं।
- भागो एप्लिकेशन यानी nodemon app.js या नोड अपने सर्वर पते या http://localhost:3000/upload को
- नेविगेट app.js और जिन्हें आप नीचे देख आप index.html गाया देखेंगे:
कंसोल लॉग नीचे (अंत नोटिस -। हिस्सा हटाया)
एक अंततः मेरे पास अपलोड निर्देशिका में image2.jpg
है।
टी एल; डॉ
आप app.js और index.html फ़ाइल के लिए निम्न में तोड़ मरोड़ की जरूरत को अपलोड करने और Resumable.js के माध्यम से अपलोड की गई फ़ाइल को बचाने के लिए सक्षम होने के लिए।
index.html जहां को resumable
एक निर्देशिका भेजने के लिए मेरे मामले में सर्वर यूआरएल को यह इंगित करने के लिए http://localhost:3000/upload
var r = new Resumable({
target:'http://localhost:3000/upload',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1
});
app.js फेरबदल कर दिया गया है लक्ष्य मान बदलने के लिए बदलाव कर दिया गया है फ़ाइल को सहेजें (सबसे ज्यादा)।
var resumable = require('./resumable-node.js')(__dirname + "/uploads");
मैं भी बदलाव किया app.js की app.post('/uploads',...)
देख gist सामग्री को बदलने के लिए।
// Handle uploads through Resumable.js
app.post('/upload', function(req, res){
resumable.post(req, function(status, filename, original_filename, identifier){
if (status === 'done') {
var stream = fs.createWriteStream('./uploads/' + filename);
//stich the chunks
resumable.write(identifier, stream);
stream.on('data', function(data){});
stream.on('end', function(){});
//delete chunks
resumable.clean(identifier);
}
res.send(status, {
// NOTE: Uncomment this funciton to enable cross-domain request.
//'Access-Control-Allow-Origin': '*'
});
});
});
और app.js के अंत में पिछले ट्वीक पिछले मार्ग हैंडलर, निम्न फ़ाइल
s.createReadStream("./resumable.js").pipe(res);
मैं दूसरों के रूप में ही निर्देशिका में फाइल को resumable.js ले जाया गया पर है, इसलिए मुझे अपने स्थान को बदलने की जरूरत है ताकि रीडस्ट्रीम इसे मिल सके।
कोई भी जिथब उदाहरण अद्भुत होगा .. – Nodedeveloper101
ठीक है, फ़ाइल स्वयं 'req.files.file' में स्थित है ... तो मेरे पास एक जावास्क्रिप्ट चर है जो एक फ़ाइल है .. var file = req.files.file; .... मैं इस चर को अपने सर्वर पर किसी विशिष्ट निर्देशिका में फ़ाइल के रूप में कैसे सहेजूं? – Nodedeveloper101
मुझे पता चला कि 'fs' का उपयोग कर सर्वर पर .txt फ़ाइलों को कैसे लिखना है। तो मैं सर्वर पर फाइलें लिख सकता हूं। और मैं फ़ाइल के बारे में console.log() डेटा कर सकता हूं। लेकिन यह पता नहीं लगा सकता कि मुझे fs.writeFile (फ़ाइल नाम, फ़ाइल, कॉलबैक) में कौन सा ऑब्जेक्ट पास करना है, जो वास्तव में फ़ाइल है ... अभी यह सिर्फ [ऑब्जेक्ट ऑब्जेक्ट] बचाता है – Nodedeveloper101