文件阅读器 - 再次上传相同的文件不起作用

2024-01-03

我有一些类似绘图的应用程序。用户可以保存项目然后加载它们。当我第一次加载一个文件(例如project1.leds)时,在应用程序中进行一些更改但没有保存它,然后再次加载相同的文件(project1.leds)什么也没有发生。我无法多次加载同一文件。如果我加载另一个文件,它就可以工作。

Code:

$("#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);
});

我可以删除/删除缓存文件吗?它甚至缓存在浏览器中吗?


这是因为您正在调用 onchange 函数。如果您上传相同的文件,则文件输入的值与上次上传相比没有更改,因此不会被触发。这也解释了为什么如果您上传不同的文件它会起作用。无需清除缓存,您可以通过在读取文件后重置输入字段的值来解决此问题。

$("#menu-open-file").change(function(e){
    var data=[];

    var file = null;
    file = e.target.files[0];
    if(file !== ''){
      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);
        $("#menu-open-file")[0].value = '';
  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件阅读器 - 再次上传相同的文件不起作用 的相关文章

  • IE8 中的 Javascript 消息超出堆栈空间

    我正在使用 Breeze 1 4 1 Internet Explorer 8 和 ASP NET MVC 4 Web API 我在查询时收到以下消息 查询失败 localhost port breeze Data Metadata 元数据导
  • JQuery 验证表单数组中的重复项

    我想显示重复或不唯一的值的错误 但我的表单接受输入数组 我已经在 jsfiddle 上检查了这些问题 name week 失败但是name week 工作正常 问题1 https stackoverflow com questions 24
  • 赋予 d3 序数轴标签与尺度名称不同

    我有一个序数scale具有不同值的某些标签 我想显示该比例的轴 其中轴标签与比例标签不同 我有这个代码 var width 1000 var height 600 var margins left 100 40 right 25 botto
  • 拖放图像上传在服务器上不起作用

    我正在尝试实现拖放图像上传 我在网上找到了一个相当简单的脚本并适合我的使用 在我的本地安装中 文件上传得很好 但在服务器上却不行 从我的调试尝试来看 SERVER HTTP X FILENAME 甚至没有被 php 设置 我尝试了以下方法
  • 将箭头添加到 Twitter Bootstrap 的下拉药丸中?

    我的 Twitter 引导下拉按钮成功工作 但我有一个小问题 这里的黑色导航栏 http twitter github com bootstrap javascript html dropdowns http twitter github
  • Angular UI.Bootstrap 单选按钮在 ng-repeat 中表现得很奇怪[重复]

    这个问题在这里已经有答案了 我在 Angular 的 ui bootstrap 中动态生成无线电模型的选项时遇到问题 我想我可以简单地对数组进行 ng repeat 使用 btn radio 属性的内容 如下所示 in the contro
  • 如何防止在达到一定字符数后向文本区域输入内容?

    使用下面的代码 任何超过指定最大值的输入都将被删除 但这会产生一种效果 即键入字符后立即将其删除 我宁愿简单地阻止输入字符
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • Backbone Marionette,复合视图初始化两次

    我正在使用一个复合视图 它的 el 上调用了 dialog 然后 复合视图列出集合中的项目 现在我尝试了多种方法来渲染集合项 在将其附加到视图之前和之后从复合视图外部获取 在视图内部获取 从我的服务器脚本预加载集合等 一切似乎都有效 但出现
  • JQuery _renderItem 没有被调用

    我正在尝试使用 renderItem 函数创建自定义 ui menu item 元素 但经过可能尝试后 我什至无法调用该函数 自动完成功能正在工作 但就像 renderItem 函数不存在一样 这是我的脚本部分
  • jQuery Datepicker:setDate 不是一个函数

    我目前正在尝试使内联日期选择器对象与日期输入交互 并且已经管理了除一件事之外的所有内容 当我尝试使用输入的更改事件时 它会抛出错误 Uncaught TypeError start widget setDate is not a funct
  • 从 UnityWebGL jslib 返回字符串

    我想使用 jslib 来获取网址参数 像这样的代码 jslib GetUrl function var s var strUrl window location search var getSearch strUrl split var g
  • jQuery live() 和ready() 之间的区别?

    两者之间的确切区别是什么live and ready 编辑 发现die http docs jquery com Events die是相反的live ready http docs jquery com Events ready让你注册一
  • 如何从普通 JavaScript 中的输入获取对象

    例如 我有 3 个输入
  • 如何从 jQuery 获取 ajax 请求下载 Excel

    我有一个 Spring MVC 视图 它提供了一个 excel 文件 但是 我现在修改了该过程 以便用户获得一个模式框 他们可以在下载 excel 之前在其中选择一些选项 这些选定的选项将发送到视图 我的请求看起来像这样 get downl
  • NodeJS 中的缩进多行日志记录

    我要打印JSON stringify d 反对控制台 将上下文作为 Mocha 测试套件输出的一部分 当测试缩进时 我希望对象日志行向右缩进足够远 例如 3 4 个制表符空格 以便它们可以识别地位于右侧describe group 我怎样才
  • 在 HTML5 画布上创建颜色选择器

    如何在 HTML5 画布上绘制颜色选择器 一个基本的例子是使用getImageData http jsfiddle net eGjak 60 http jsfiddle net eGjak 60 var ctx cv get 0 getCo
  • 如何在javascript中解析 yyyy-MM-dd HH:mm:ss.SSS 格式的日期?

    const time 2016 11 16 00 00 00 000 const date new Date time console info date 似乎 safari 无法解析 yyyy MM dd HH mm ss SSS 格式日
  • 尽管给出了供应商 ID,Web 串行 api 显示“未找到兼容设备”

    Windows 8 1 Chrome v91 0 4472 164 我已根据设备管理器验证了供应商和产品 ID 该设备是使用 Ch340 驱动程序的 Arduino UNO 它在设备管理器中的端口 COM 和 LPT 下列为 USB SER
  • 如何在放置后拖动图像克隆?

    我的图像在旋转后可以拖动 但是当图像掉落时我无法第一次拖动图像 这是图像拖放的代码 dhtmlgoodies xpPane li rotatable 我可以拖动此图像克隆并将其放在 工作区域 上 我无法在放置后第一次拖动图像克隆 但克隆在旋

随机推荐

  • PostgreSQL 删除触发器

    我正在 PGAdminIII 上创建一个触发器 我想在其中删除另一个表上具有外键的行 但是我遇到了语法错误 并且找不到问题所在 CREATE TRIGGER clienteDelete BEFORE DELETE ON cliente FO
  • OCR应用前的图像清理

    过去几个小时我一直在尝试 PyTesser 它是一个非常好的工具 关于 PyTesser 的准确性 我注意到以下几点 包含图标 图像和文本的文件 准确度 5 10 仅包含文本的文件 已删除图像和图标 准确率 50 60 拉伸文件 这是最好的
  • 打印带有演示者备注的 xaringan 幻灯片

    是否可以打印带有演示者备注的 Xaringan 幻灯片 我知道我可以使用这些方法打印幻灯片 https github com yihui xaringan wiki Export Slides to PDF https github com
  • 如何将 Leiningen 模板部署到 Clojars?

    我在本地计算机上创建了一个 Leiningen 项目 然后通过执行以下操作将其转换为模板 lein create template webdb 然后我安装模板 cd webdb lein install 这允许我在本地基于模板创建项目 le
  • 缺乏后视的解决方法?

    回答另一位用户的问题 https stackoverflow com q 28044217 3725745我将下面的正则表达式组合在一起来匹配字符串中的数字 b 0 9 0 9 b 在提供答案后 我注意到 如果由于 b 与句点字符匹配而导致
  • GSON 2.0+ 从两个不同的序列化字段名称之一反序列化字段

    在我的 Java 类中 我有一个声明如下的字段 protected double a 0 0 在反序列化以重构此类的 JSON 中 该字段可以显示为两个不同名称之一 遗留问题 例如 JSON 字段可能如下所示 a 9 57 或者像这样 d
  • 获取指向字节数组的指针的不安全方法

    此行为在 C 中有效吗 public class MyClass private byte data public MyClass this data new byte 1024 public unsafe byte getData byt
  • Scrapy 和 Python。名称错误

    我正在尝试计算当前的货币汇率 请您看一下是否发现错误 items py import scrapy class CurrItem scrapy Item country scrapy Field currency scrapy Field
  • 如何使用系统属性替换 Typesafe 配置文件中的占位符?

    我需要参考java io tmpdir在我的 application conf 文件中 我打印了我的配置内容 val c ConfigFactory load System err println c root render 它使它像 de
  • R 上下文、环境和带有“.Call”的调用堆栈

    有版本吗parent frame or sys calls或其他可以直接从 C 代码调用的通用上下文函数 Call 环顾四周Rinternals h等等 我似乎找不到类似的东西 我能想到的最好的办法是 my fun lt function
  • 如何根据js中的父位置动态调整div的大小

    我一直在编写一个代码 该代码展示了如何动态调整 div 的大小 然而 代码被困在 1 个元素上 我做了一些工作来转换为多个 div 调整器 现在 在调整大小时 鼠标和 div 之间会出现一个空格 我的目标是确保根据父位置 使用精确的鼠标位置
  • 如何使用 urllib2 使用带身份验证的代理访问 ftp/http 服务器

    更新 请参阅我的解决方案的评论 我的Python代码使用urllib2使用用户名和密码通过代理访问 FTP 服务器 我同时使用urllib2 ProxyHandler and a urllib2 ProxyBasicAuthHandler通
  • 如何从 Flutter-web 中的小部件创建图像?

    在谷歌地图上显示自定义小部件谷歌地图颤振 https pub dev packages google maps flutter我使用一个非常方便的功能来翻译任何Widget 包括那些包含图像的 到Image 然后我将其翻译成Uint8Lis
  • 将时间分为小时、分钟和秒

    我必须把时间分成小时 分钟和秒 例如 如果时间是 09 11 21 我需要它为 09 小时 11 分 21 秒 我有两个文本框来输入打卡时间和休息时间 之后我想在一个新的文本框中获取结果 结果是根据打卡时间和休息时间之间的差值计算的 例如
  • 如何禁用 Express BodyParser 进行文件上传 (Node.js)

    我使用 Node js Express 构建一个 Web 应用程序 我发现 Express 公开的 connect BodyParser 在大多数情况下非常有用 但是 我希望能够更精细地访问多部分表单数据帖子 我需要将输入流通过管道传输到另
  • 使用Python计算txt文件中的行数(不包括空白行)

    我希望计算 txt 文件中的行数 如下所示 apple orange pear hippo donkey 其中有用于分隔块的空行 根据上面的示例 我正在寻找的结果是五 行 我怎样才能实现这个目标 作为奖励 如果能知道有多少块 段落就好了 因
  • 在docker-compose中连接tomcat和mysql

    我正在做一个研究项目 现在我正处于将项目转移到 docker 容器的阶段 我在我的网站上放置了 tomcat 在 mysql 上放置了数据库 do docker compose yml 不幸的是 tomcat 中的类无法连接数据库 Java
  • IE 9 忽略 CSS 规则

    我在使用 IE9 时遇到了一个奇怪的问题 它自己忽略了某些 CSS 规则 即使 IE8 也能正确加载它 IE 10 以及所有更好的浏览器 例如 FF 和 Chrome 也是如此 css 正在使用 text css MIME 加载 例如 IE
  • HotSpot 可以内联 lambda 函数调用吗?

    考虑代码 someList forEach x gt System out format element s x 理论上 应该可以内联此代码并通过首先内联来消除间接函数调用forEach方法 然后在 inlined 中内联 lambda 函
  • 文件阅读器 - 再次上传相同的文件不起作用

    我有一些类似绘图的应用程序 用户可以保存项目然后加载它们 当我第一次加载一个文件 例如project1 leds 时 在应用程序中进行一些更改但没有保存它 然后再次加载相同的文件 project1 leds 什么也没有发生 我无法多次加载同