【发布时间】:2014-12-25 09:49:09
【问题描述】:
我有一些喜欢绘图的应用程序。用户可以保存项目然后加载它们。当我第一次加载一个文件(例如 project1.leds)时,在应用程序中进行了一些更改但没有保存它,然后再次加载相同的文件(project1.leds)没有任何反应。我不能多次加载同一个文件。如果我加载另一个文件,它就可以工作了。
代码:
$("#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或类似内容。 (顺便说一句,它与上传无关,你不是在上传任何东西,只是在本地加载它,对吧?) -
是的,我在本地加载它。
e.target.files = null没有帮助。
标签: javascript jquery file filereader