我是棱角分明的新人.每当在此字段上发生"更改"时,我都会尝试从HTML"文件"字段中读取上传的文件路径.如果我使用'onChange'它可以工作,但是当我使用'ng-change'的角度方式时,它不起作用.
<script>
var DemoModule = angular.module("Demo",[]);
DemoModule .controller("form-cntlr",function($scope){
$scope.selectFile = function()
{
$("#file").click();
}
$scope.fileNameChaged = function()
{
alert("select file");
}
});
</script>
<div ng-controller="form-cntlr">
<form>
<button ng-click="selectFile()">Upload Your File</button>
<input type="file" style="display:none"
id="file" name='file' ng-Change="fileNameChaged()"/>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
fileNameChaged()永远不会调用.Firebug也没有显示任何错误.
我试着打开文件
window.open("file:///D:/Hello.txt");
Run Code Online (Sandbox Code Playgroud)
浏览器不允许以这种方式打开本地文件,可能是出于安全原因.我想在客户端使用该文件的数据.如何在Javascript中读取本地文件?
我想清除表单中的文件输入.
我知道将源设置为相同的方法......但该方法不会擦除所选的文件路径.
注意:我想避免重新加载页面,重置表单或执行AJAX调用.
这可能吗?
我想在用户选择文件时触发事件..change如果用户每次都更改文件,则对事件执行此操作.
但是如果用户再次选择相同的文件,我想激活该事件.
A.jpg(事件触发)B.jpg(事件触发)B.jpg(事件不会触发,我希望它触发)我该怎么做?
我有一个react组件,它呈现一个<input type="file">dom,允许用户从浏览器中选择图像.我发现当我选择相同的文件时,它的onChange方法没有被调用.经过一些搜索,有人建议使用this.value=null或return false在onChange方法的最后,但我尝试它不起作用.
以下是我的代码:
<input id="upload" ref="upload" type="file" accept="image/*"
onChange={(event)=> { this.readFile(event) }}/>
Run Code Online (Sandbox Code Playgroud)
以下是我的尝试:
<input id="upload" ref="upload" type="file" accept="image/*"
onChange={(event)=> {
this.readFile(event)
return false
}}/>
Run Code Online (Sandbox Code Playgroud)
另一个是:
<input id="upload" ref="upload" type="file" accept="image/*"
onChange={(event)=> {
this.readFile(event)
this.value=null
}}/>
Run Code Online (Sandbox Code Playgroud)
我相信上面的解决方案适用于jquery,但我不知道如何让它在reactjs中工作.
我有点像绘图应用程序.用户可以保存项目然后加载它们.当我第一次加载一个文件(例如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);
});
Run Code Online (Sandbox Code Playgroud)
我可以删除/删除缓存文件吗?它甚至在浏览器中缓存了吗?
我使用了一些HTML5文件功能制作了一个小脚本,它允许您选择一个或多个文件,并且每次都会写入文件的名称.一切都按原样运行,只有检测文件输入的值变化的事件才会触发一次,那么我怎样才能使每次变化都触发,而不仅仅是第一次变化?
顺便说一句,这是我做的:http: //tamir.netspot.co.il/html5/files/
我正在使用infile来要求用户在他们的机器上浏览文件.如果窗口关闭而未选择文件,是否有办法捕获?
例如,如果单击x.
<input type="file" name="data" id="inFile" size="15" style="display:none" onchange="handleFiles(this)"/>
Run Code Online (Sandbox Code Playgroud)
谢谢
如何在ExtJS中重置文件字段输入?我在尝试:
//this - point on Ext.panel.Form
var form = this.getForm();
form.reset();
var filefield = this.getForm().getFields().get(0);
filefield.reset();
filefield.setValue('');
filefield.value = '';
Run Code Online (Sandbox Code Playgroud)
但这些方法中没有一种不起作用.谢谢你的帮助!
这是我上传excel文件的html代码
<span class="control-fileupload" >
<label for="file1" class="text-left">{{filePlaceHolder}}</label>
<input type="file" id="file1" value="" (change)="openFile($event)" >
</span>
Run Code Online (Sandbox Code Playgroud)
但问题是,如果我上传两次相同的文件,则更改功能不会再次执行,因为输入字段没有变化.
假设我已经上传了一次abc.xls文件,并且对此文件进行了一些验证,如果我更改了abc.xls的内容并重新上传它,那么更改函数不再重新验证它.
每次上传文件时我应该对工作更改功能做出哪些更改,无论文件名是否相同.
我想知道如何在类型脚本中编写此单击函数,因为我是新手.
有关于以下脚本的跟随问题和需要答案,这些脚本将在上传之前预览照片.该脚本来自http://jsbin.com/uboqu3/edit#javascript,html
1)该脚本适用于Firefox,对IE没有好处.如何让它适用于IE?
2)没有删除照片的方法.需要像预览照片上安装的小图像"X",单击此"X"将删除照片.谁能提供这个解决方案?
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#img_prev')
.attr('src', e.target.result)
.height(200);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
</style>
</head>
<body>
<input type='file' onchange="readURL(this);" />
<img id="img_prev" src="#" alt="your image" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我在 HTML 中有以下行:
<input type="file" #fileInput style="display: none" accept=".xml" (change)="OnFileSelected($event)"/>Run Code Online (Sandbox Code Playgroud)
选择文件后,将调用 OnFileSelected 回调。但是,如果我再次选择同一个文件,则不会调用此回调。
你能帮忙吗?
我想要阅读并输出一个文本文件.Chrome控制台抱怨:
caught TypeError: Cannot read property '0' of undefined FinanceDashBoard.html:22"
不确定我做错了什么?
代码如下:
<html>
<head>
<title>Read File (via User Input selection)</title>
</head>
<body>
<main>
<label>Load a text database file: <input type="file" id="txtfile" ></label>
</main>
<script type="text/javascript">
var dbFileElm = document.getElementById('txtfile');
dbFileElm.onchange = function() {
var filePath = dbFileElm.files[0];
var reader = new FileReader();
var output = ""; //placeholder for text output
reader.onload = function (e) {
output = e.target.result;
displayContents(output);
}
reader.readAsText(filePath.files[0]);
}
// Ignore code below it doesn't work …Run Code Online (Sandbox Code Playgroud) javascript ×10
html ×6
jquery ×4
file ×2
angular ×1
angularjs ×1
dom-events ×1
events ×1
extjs ×1
file-upload ×1
filedialog ×1
filereader ×1
input ×1
reactjs ×1
upload ×1