Javascript 打开作为参数传递本地图像的网站 问题定义
我试图打开一个网站,它的url提供了一个存储在用户计算机上的图像,作为使用windows批处理的参数。用户计算机上图像的路径是批处理文件的参数Javascript 打开作为参数传递本地图像的网站 问题定义,javascript,windows,batch-file,Javascript,Windows,Batch File,我试图打开一个网站,它的url提供了一个存储在用户计算机上的图像,作为使用windows批处理的参数。用户计算机上图像的路径是批处理文件的参数 my-batch-file.bat C:\path\to\image1 C:\path\to\image2 将打开www.example.com,使这两个图像可用于JS脚本 具体例子: 我拥有一个网站www.image-edition-example.com,人们可以在那里打开图片进行编辑 我希望他们能够加载他们想要编辑的图像到网站使用批脚本。图像存储
my-batch-file.bat C:\path\to\image1 C:\path\to\image2
将打开www.example.com,使这两个图像可用于JS脚本
具体例子:
我拥有一个网站www.image-edition-example.com,人们可以在那里打开图片进行编辑
我希望他们能够加载他们想要编辑的图像到网站使用批脚本。图像存储在用户计算机上的路径C:\path\to\image1
和C:\path\to\image2
。我(理想情况下)不想涉及任何后端,只想在前端加载图像
到目前为止我都试过了
据我所知,在浏览器中不可能从JS访问用户的文件系统(听起来是一个公平的安全选择)
我还可以在bash中打开该图像(例如,在base64中,我不知道如何实现),并通过cURL请求发送它
在这种情况下,我可以通过POST发送,在这种情况下,我必须访问服务器端的数据,但我的网站是一个静态网站,由Webpack构建,因此我不知道如何访问它并将其发送回前端
另一个选项是使用GET,这意味着将base64图像放入url,这使得url太长
有人知道我如何回避这个问题吗?我对这个问题的理解是:
- 您希望从命令行运行批处理过程
- 它将通过文件名识别本地图像,并将其发送到您网站的页面上
- 您的网站是静态的,没有可用的服务器端组件
- 将图像转换为Base64或类似版本以将其包含在URL中会导致URL过长
- 您打开的页面将在本地与图像交互(不将其存储在服务器或类似设备上)
foo.jpg
)复制到C:\PublicImages
http://www.example.com/page.html?image=foo.jpg
或类似产品http://localhost:3000/foo.jpg
通过ajax请求图像数据C:\PublicImages
中该图像的图像数据响应该请求const express = require('express');
const app = express();
const port = 3000;
const options = {
extensions: [/*...relevant image extensions here...*/],
index: false,
redirect: false,
setHeaders: function (res, path, stat) {
res.set("Access-Control-Allow-Origin", "http://www.example.com");
// ...and probably other CORS headers...
}
};
app.use(express.static("C:\\PublicImages", options));
app.listen(port, () => console.log(`Serving images on port ${port}`));
这只是一个草图。不清楚打开url和提供图像有什么意义。你到底想干什么?通过bash将图像上传到站点?是的,这很难解释。通过bash将图像上传到站点可能是一个很好的总结,但我也希望在发送之前在前端访问它。这更有意义吗?什么前端?我和你一起从bash提交,但是…?听起来你想用selenium@T.J.Crowder不,困难不在于将其保存到网站服务器。问题是如何在浏览器中打开它。例如,您可以说“我想打开此图像在图像编辑网站上进行编辑”,图像存储在本地。为此,您可以运行批处理脚本直接在网站中打开图像,并准备好进行编辑。没有涉及后端这是非常有创造性的。我正在实现这一点,当它起作用时,我会检查你的答案。谢谢你的帮助。