मेरे पास ड्राइंग ऐप की तरह sth है। उपयोगकर्ता परियोजनाओं को बचा सकता है और फिर उन्हें लोड कर सकता है। जब मैं पहली बार एक फ़ाइल लोड करता हूं (उदाहरण के लिए project1.leds) ऐप में कुछ बदलाव करता है लेकिन इसे सहेजता नहीं है और फिर फिर उसी फ़ाइल को लोड करता है (project1.leds) कुछ भी नहीं होता है। मैं एक ही फाइल को एक से अधिक बार लोड नहीं कर सकता। अगर मैं दूसरी फाइल लोड करता हूं, तो यह काम करता है।फ़ाइलreader - उसी फ़ाइल को दोबारा अपलोड न करें
कोड:
$("#menu-open-file").change(function(e){
var data=[];
var file = null;
file = e.target.files[0];
console.log(file)
var reader = new FileReader();
reader.onload = function(e){
data=JSON.parse(reader.result);
x=data[0].SIZE[0];
y=data[0].SIZE[1];
if(x==15) x=16;
if(x==30) x=32;
if(x==60) x=64;
if(y==15) y=16;
if(y==30) y=32;
if(y==60) y=64;
createLeds(x,y,data,false,false);
clearActiveTools();
var svg = $('#contener').find('svg')[0];
svg.setAttribute('viewBox','0 0 ' + x*20 + ' ' + y*20);
$("#contener").css("width",x*20).css("height",y*20);
$("#contener").resizable({
aspectRatio: x/y,
minHeight: 200,
minWidth: 200,
});
wiFirst = $("#contener").width();
hiFirst = $("#contener").height();
}
reader.readAsText(file);
});
मैं हटाना/कैश की गई फ़ाइल हटा सकते हैं? क्या यह ब्राउज़र में भी कैश किया गया है?
यह कैश नहीं है, यह सिर्फ चयनित फ़ाइल है। आप एक बदलाव घटना के लिए सुन रहे हैं। यदि आप एक ही फ़ाइल का चयन करते हैं तो कुछ भी नहीं बदलेगा, कोई बदलाव घटना नहीं होगी। आप 'e.target.files = null' या कुछ पढ़ने के बाद समान कुछ सेट करने का प्रयास कर सकते हैं। (बीटीडब्ल्यू के पास अपलोड करने के साथ कुछ लेना देना नहीं है, आप कुछ भी अपलोड नहीं कर रहे हैं, बस इसे स्थानीय रूप से लोड कर रहे हैं, है ना?) – Winchestro
हां, मैं इसे स्थानीय रूप से लोड कर रहा हूं। 'e.target.files = null' मदद नहीं करता है। – sko