[英]Cross origin requests are only supported for HTTP not fixed even after Chrome --allow-file-access-from-files
[英]Javascript filereader open hard-coded filename with --allow-file-access-from-files
我有一些基於用戶輸入加載文件的 javascript:
function openFile(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function () {
const result = reader.result.split("base64,")[1];
// use result
};
reader.readAsDataURL(input.files[0]);
}
我想硬編碼文件名。 如果我要寫文件,我會嘗試類似的東西
function openFile2(filename) {
var reader = new FileReader();
reader.onload = function () {
const result = reader.result.split("base64,")[1];
// use result
};
var file = new File([""], filename) // create a new file object for writing (not actually desired)
reader.readAsDataURL(file);
}
但在這里我正在閱讀,所以我想要一個現有文件,而不是一個新文件。 我發現了幾個類似的問題,其中的答案斷言出於安全原因這是不可能的:
但是,我看到了一些對 Chrome 選項--allow-file-access-from-files
引用,該選項似乎旨在覆蓋此安全功能。 我的 javascript 僅供本地使用,因此它只能在 Chrome 中工作並且僅使用此選項是完全可以接受的。 我的問題是我對 javascript 的了解不夠,不知道如何創建用於讀取的文件對象,而且我似乎無法找到有關如何操作的文檔(只是斷言它是被禁止的)。
我的問題:
--allow-file-access-from-files
Chrome),獲得一個最簡單的方法是什么來自硬編碼路徑的 javascript 文件對象(適用於filereader
)? 例如,如果不能在純 javascript 中完成,我可以在我的 html 中放入一些與 javascript 掛鈎的內容嗎?對於您的情況,請考慮使用Tauri 。 Tauri 是一種將 Web 應用程序構建為可執行桌面應用程序的工具。 Tauri 提供API 來訪問本地文件系統。
您可以像這樣從固定路徑讀取二進制文件:
import { readBinaryFile } from '@tauri-apps/api/fs';
async() => {
data = await readBinaryFile("/path/file");
}
Tauri 是 Electron 的輕量級替代品。 對於典型案例,一天之內就可以將 Tauri 集成到現有項目中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.