基于这个网站上的其他答案,我已经觉得我知道这个问题的答案,但是,由于它略有不同,我想问一下.
是否可以从机器上本地运行的JavaScript访问本地文件(AKA,我的网站地址将是file:/// C:/ ...)?或者,这个沙盒也是吗?
我要做的是:我有一台独立的计算机,我希望人们能够将JSON或XML文件放入本地文件夹,这些文件夹在创建站点时读入并用于生成单个网页.如果无法使用JavaScript解决方案,您能提供其他任何建议吗?
谢谢.
我有一个要求,我需要从客户端的文件夹中检索所有文件名.
因此,我试图使用Jquery检索文件夹中的文件名称,引用此答案.
我的代码如下:
<script>
var fileExt = ".xml";
$(document).ready(
function(){
$.ajax({
//This will retrieve the contents of the folder if the folder is configured as 'browsable'
url: 'xml/',
success: function (data) {
$("#fileNames").html('<ul>');
//List all xml file names in the page
$(data).find('a:contains(" + fileExt + ")').each(function () {
var filename = this.href.replace(window.location, "").replace("http:///", "");
$("#fileNames").append( '<li>'+filename+'</li>');
});
$("#fileNames").append('</ul>');
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
HTML代码如下:
<div id="fileNames"></div>
Run Code Online (Sandbox Code Playgroud)
但是当我在chrome和firefox中运行代码时出现以下错误:
chrome:XMLHttpRequest无法加载file:/// E:/ Test/xml /.收到无效回复.因此不允许原点'null'访问.
Firefox:ReferenceError:$未定义
我试过google很多但错误没有解决.
非常感谢您的帮助.
我面临的主要问题是(在 Web 平台上):
我正在使用 Flutter 为 Android 和 Web 平台开发应用程序。我设法上传了一个文件(二维码的图像),但我使用的是 qr_code_tools 插件,我需要提供这样的文件路径:
resultDecodeStr = await QrCodeToolsPlugin.decodeFrom(path);
Run Code Online (Sandbox Code Playgroud)
这是如何上传图像文件的代码(在网络平台上):
Future<File> pickFile() async {
final Map<String, dynamic> data = {};
final FileUploadInputElement input = FileUploadInputElement();
input..accept = 'image/*';
input.click();
await input.onChange.first;
if (input.files.isEmpty) return null;
return input.files[0];
}
Run Code Online (Sandbox Code Playgroud)
返回的文件对象有一个属性“relativePath”,它是空的。
在 Android 上,我使用了类似的东西,但它确实有一个路径,如果没有,我可以获得一个临时目录(使用 path_provider)并创建一个新文件(使用 dart.Io)。但这对网络来说是不可能的,两个插件(path_provider 和 dart Io)都没有兼容性......
请我希望得到一些帮助...
我为此查看了多种资源,但是似乎没有一个能够回答我的问题。我的 React 应用程序中有一个名为 的本地 JSON 文件items.json。在该文件中,是我希望能够更新的对象列表。我尝试过使用fs,但这显然在 React 中不起作用,因为我收到了这个错误:
Unhandled Rejection (TypeError): fs.readFileSync is not a function
Run Code Online (Sandbox Code Playgroud)
我想做的是,当代码获取新项目时,它会查看 JSON 文件以查看其name属性中是否存在具有匹配值的现有对象。如果存在,它会将该对象count属性增加 1,否则它会创建一个新对象,并将其附加到 JSON 文件中的列表中。这是我为此编写的代码。逻辑似乎很合理(尽管未经测试),但我不知道如何读取/写入数据。
let raw = fs.readFileSync("../database/items.json");
let itemList = JSON.parse(raw);
let found = false;
for (let item of itemList.averages) {
if (item.name === this.state.data.item_name) {
found = true;
item.count += 1;
}
}
if (!found) {
let newItem = {
name: this.state.data.item_name,
count: 1,
}
itemList.averages.push(newItem);
}
let newRaw = JSON.stringify(itemList);
fs.writeFileSync("../database/items.json", …Run Code Online (Sandbox Code Playgroud) 我在尝试检查文件是否已下载时遇到了一些问题。
单击按钮会生成一个 PDF 文件并开始下载。
我需要检查它是否有效。
赛普拉斯能做到这一点吗?
我试图将文本文件放入textarea.结果是" http://mywebsite.com/textfile/(txtinput).txt,文本文件未加载到textarea中.
<html>
<head>
<title>textbox</title>
<script type="text/javascript">
function readBOX() {
var txtinput = document.getElementById('txtinput').value;
document.forms[0].text.value = ("http://mywebsite.com/textfile/") + txtinput +(".txt");
}
</script>
</head>
<body>
<p> Type</p>
<input type="text" id="txtinput" />
<input id="open" type="button" value="READ" onClick="readBOX()" />
<form>
<textarea name="text" rows="20" cols="70">loaded text here</textarea>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) chrome对本地文件的访问受到限制,但我想在画布上绘制图像:使用文件输入选择的图像,不将图像发送到服务器然后再请求它.
一些帮助会很棒!
如何从javascript/jQuery中的本地PC获取目录的内容?例如来自C:\Images
我正在创建一个使用sql.js加载sqlite数据库,添加一些过滤器并查询数据并显示各种基于d3的图表的脱机javascript应用程序。但是,我的用户不想被数据库内容和拥有数据库文件所困扰。我想在页面加载时加载文件。
<input id="inpLoadDB" type="file" onchange="loadDB()">
Run Code Online (Sandbox Code Playgroud)
当我查询该元素时,它将返回一个FileList对象,从中可以获取所选文件。如何在不包含HTML元素的情况下构建FileList(或仅文件对象)。就像是:
var fl=new FileList();
fl.readDir("./data/");
Run Code Online (Sandbox Code Playgroud) javascript ×6
html ×3
jquery ×2
automation ×1
canvas ×1
cypress ×1
file ×1
fileapi ×1
flutter ×1
flutter-web ×1
image ×1
java ×1
jquery-ajaxq ×1
json ×1
local ×1
node.js ×1
reactjs ×1