【发布时间】:2021-07-28 14:23:47
【问题描述】:
我写了一些代码来将文件上传到亚马逊 S3,如果我手动输入完整的文件路径它成功地从我的计算机上传文件。我想要做的是使用文件上传控件并将完整路径存储在一个变量中,以便我可以将它用于我的亚马逊方法。我到处阅读,似乎出于安全原因,浏览器不会让您获得完整的文件路径。
如何获取完整的文件路径?我是否应该将文件存储在我的网络服务器上并将我的亚马逊方法指向服务器路径,然后使用文件上传控件告诉它文件名是什么?我希望我能直接对亚马逊进行射击......
【问题讨论】:
-
您永远无法从客户端浏览器中获取路径...但我看不出这与任何方式相关。你得到文件名,所以只需构建你自己的完整路径。 IE。将所有上传的文件放在一个预定义的文件夹中。
-
@Andrew Barber,已接受道歉。
-
@Pauli,我试图不将文件保存到我的网络服务器然后构造绝对路径。我试图直接从客户那里拿到亚马逊。不幸的是,amazon api 要求一个 abs 路径。我想我必须将文件保存到我的网络服务器。我猜没什么大不了的。
-
为什么要把它保存在网络服务器上!?如果是因为 amazon api 在上传时需要读取文件路径,那么我确定还有一个过载流!
-
@Pauli,用于此的 SDK 并不好,它们向您展示了如何创建对象(其中没有任何内容的文件,您没有现实世界的理由想要这样做),但是不是如何上传一个真实的文件,我不得不四处寻找并自己弄清楚以达到我已经做到的程度。
标签: c# asp.net file-upload