注意:
下面的答案和评论反映了2009年遗留浏览器的状态.现在,您可以在2017年使用JavaScript和dataTransfer或FileList对象实际动态/编程地设置文件输入元素的值.
有关详细信息和演示,请参阅此问题中的答案:
如何以编程方式设置文件输入值(即:拖放文件时)?
我该如何设置它的值?
<input type="file" />
Run Code Online (Sandbox Code Playgroud) 我试着打开文件
window.open("file:///D:/Hello.txt");
Run Code Online (Sandbox Code Playgroud)
浏览器不允许以这种方式打开本地文件,可能是出于安全原因.我想在客户端使用该文件的数据.如何在Javascript中读取本地文件?
我有这个代码,并且要将文件转换为base64,我必须单击选择文件然后选择它.我想硬编码文件名,以便在页面加载时转换为base64.
JavaScript的:
var handleFileSelect = function(evt) {
var files = evt.target.files;
var file = files[0];
if (files && file) {
var reader = new FileReader();
reader.onload = function(readerEvt) {
var binaryString = readerEvt.target.result;
document.getElementById("base64textarea").value = btoa(binaryString);
};
reader.readAsBinaryString(file);
}
if (window.File && window.FileReader
&& window.FileList && window.Blob) {
document.getElementById('filePicker')
.addEventListener('change', handleFileSelect, false);
} else {
alert('The File APIs are not fully supported in this browser.');
}
};
Run Code Online (Sandbox Code Playgroud)
HTML:
<div>
<div>
<label for="filePicker">Choose or drag a file:</label><br/>
<input type="file" id="filePicker">
</div> …Run Code Online (Sandbox Code Playgroud) 我想在HTML5/JS中创建一个简单的游戏,我不希望用户运行任何网络服务器或必须连接到网站.(只是一个HTML页面)
但看起来FileReader只能用于文件类型输入.
是否可以只有两个文件:index.html和foo.txt并排读取index.html中的foo.txt,例如:
// No input needed, I know waht I want to read
var my_file = new File("foo.txt");
var reader = new FileReader();
alert( reader.readAstext( my_file, "UTF-8" ) );
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
javascript ×4
file ×1
file-upload ×1
filereader ×1
html ×1
html5 ×1
input ×1
onload ×1
preset ×1