【发布时间】:2020-01-13 08:38:58
【问题描述】:
我正在尝试通过 curl 上传文件,该文件基本上应该模仿用户如何将文件上传到 https://lutzroeder.github.io/netron/
我可以看到有一个:
<input type="file" id="open-file-dialog" style="display:none" multiple="false" accept=".onnx, .pb, .meta, .tflite, .lite, .tfl, .bin, .keras, .h5, .hd5, .hdf5, .json, .model, .mar, .params, .param, .armnn, .mnn, .ncnn, .dnn, .cmf, .mlmodel, .caffemodel, .pbtxt, .prototxt, .pkl, .pt, .pth, .t7, .joblib, .cfg, .xml">
但输入不属于任何形式——这是我以前从未见过的。当我尝试做一个传统的帖子时:
curl -X POST -F ‘data=@example.h5’ https://lutzroeder.github.io/netron/
这是不允许的。我应该如何以编程方式将文件上传到该输入?我正在尝试自动创建这些 Netron 数字,因为必须手动选择例如100个文件得到100个数字会很麻烦
谢谢!
【问题讨论】:
-
您会在用户不知情的情况下从用户的计算机中选择什么文件,为什么?如果使用 Javascript 处理上传,则文件输入元素不需要是表单的一部分。
-
您想在 HTML 输入中自动选择文件吗?除非有人处理该请求,否则您无法通过 curl 进行防御。我认为不可能做你想做的事
-
curl 在服务器上运行,而 javascript 在客户端(浏览器)上运行 - 为了让 curl 发送文件,它需要发送该文件。想象一下,如果一个网站可以从您的计算机中随机选择文件并在您不知情的情况下将它们发送到互联网上,那将是多么混乱
-
我说的是试图通过 Netron 自动创建图形 - 基本上它会通过文件对话框提示您 - 但我想自动化这个过程。有没有办法以编程方式将文件上传到服务器,而无需我在下拉列表中手动选择文件?
-
例如,Selenium 可以做到 - 但这似乎......至少可以说很麻烦,我希望有一个更简单的解决方案。你认为存在吗?
标签: html forms curl post browser