浏览器上传图片如何获得本地文件的真实磁盘路径

2020-02-12 23:53:15 +08:00
 pytth

下面代码是通过 CURL 模拟表单 POST 上传图片,其中需要用到本地真实路径 D:\phpstudy\PHPTutorial\WWW\20200212\1.jpg

<?php
//设置 header
header("Content-type:application/json");

//初始化 CURL
$ch = curl_init();

//目标服务器地址
curl_setopt($ch, CURLOPT_URL, 'http://my.zol.com.cn/index.php?c=Ajax_User&a=uploadImg');

//设置上传的文件
curl_setopt($ch, CURLOPT_POST, true);
$data = array(
	'myPhoto' => new CURLFile('D:\phpstudy\PHPTutorial\WWW\20200212\1.jpg')
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
curl_close($ch);
?>

浏览器如何获得这个路径?或者有没有代替方法?

1614 次点击
所在节点    程序员
4 条回复
muzuiget
2020-02-13 04:37:47 +08:00
按照网页标准,本来就是无法获得完整路径,只有文件名。
pytth
2020-02-13 09:29:45 +08:00
@muzuiget 那么怎么从前端把文件路径传给后端?
RedisMasterNode
2020-02-13 10:14:23 +08:00
@pytth 你不能拿到完整路径,如果你要上传,浏览器会发起请求将文件本身( binary ) POST 给服务端,但是浏览器不会给你这个路径,不管你怎么修改代码你都拿不到路径
pytth
2020-02-13 10:42:39 +08:00
@RedisMasterNode 恩,找了很多方法都无法实现,这应该是安全性问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/644166

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX