请教一下如何写一个通过 HTTPS 协议传输文件的接口。

2020-02-19 11:54:07 +08:00
 TowerLi

请教一下如何写一个通过 HTTPS 协议传输文件的接口,保存到服务器上,不使用界面,其他人调用这个接口就可以上传文件,有大佬能指点指点吗

3803 次点击
所在节点    Java
16 条回复
Yourshell
2020-02-19 12:32:45 +08:00
要不先去学习下基础?
CEBBCAT
2020-02-19 12:46:29 +08:00
/t/643584 同样的问题不要问多次。另外,你应该一一致谢对你有帮助的人
webshe11
2020-02-19 12:55:26 +08:00
如果 WebDAV 也算接口,启动 WebDAV。
izoabr
2020-02-19 13:15:55 +08:00
先了解一下 HTTP 协议,以及里面的 POST 怎么用
Tink
2020-02-19 13:21:23 +08:00
这是最基础的文件上传啊
zifangsky
2020-02-19 13:28:22 +08:00
你应该一一致谢对你有帮助的人
blu10ph
2020-02-19 13:43:41 +08:00
Multipart/form-data
pytth
2020-02-19 14:04:55 +08:00
```
<?php
//初始化 CURL
$ch = curl_init();

//目标服务器地址
curl_setopt($ch, CURLOPT_URL, '接收端接口');

//设置上传的文件
curl_setopt($ch, CURLOPT_POST, true);
$data = array('name 值' => new CURLFile('绝对路径'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
curl_close($ch);
?>
```
deplives
2020-02-19 14:28:07 +08:00
这边建议您先学习一下《计算机网络》这门课程呢亲
DelayNoMay
2020-02-19 14:29:15 +08:00
最近刚好做了一个 golang 写的 http 文件服务,可以上传,下载,删除文件
TowerLi
2020-02-19 14:29:19 +08:00
@CEBBCAT 大佬,我错了,另外这些天看了很多,跟着菜鸟教程的代码实现了一个 servlet 的 jsp 页面上传文件,总体来说还是看不太明白本质,想着如果不用界面的 form 表单提交该怎么做呢? 他们提示的 spring-boot 的框架应该是最好的选择吧,现在企业里面应该都用,没用过,好难上手,都是我天资愚钝,看那么久都不会。
ipwx
2020-02-19 14:35:18 +08:00
@TowerLi "不用界面的 form 表单" —— 都不用浏览器了,你怎么提交不是都可以么?直接 POST 走起,或者上 WebDAV 协议。除非你想要在网页上隐藏 form 表单偷偷上传?不要意思浏览器不允许那么做。
fool079
2020-02-19 14:51:20 +08:00
@TowerLi 用 form 表单只是表示 post 时的 body 是按照 form 的 enctype 类型来进行提交,你可以自己利用 FormData 来构造需要的内容,效果是一样的。只是前者简化了你的操作
CEBBCAT
2020-02-19 14:58:21 +08:00
@TowerLi #11 不要那么灰心丧气,你也没有 [错] ,初学者都是在 [试错] 。上传文件的本质是通过约定好的协议发送一个文件(这里是 HTTP(S)协议)。显然 form 表单是利用了 HTML 中的 form 结构,让浏览器发出符合约定的 HTTP 包。后端程序再按照约定好的数据包结构解析网络流量,最后将获得的文件内容该存的存,该计算的计算。

我先后学习过 C、C#、Java、Python、Go 等语言,现在的工作主要使用 Go 语言,Spring 我也了解过一点点,国内确实非常流行,这意味着你能找到很多教程和能 Google 到别人的 [试错] 。

我认为编程的难处不在于框架的学习,在于编程的思维。学习能力这东西,上帝有的给的多,有的给的少,我想你应该发掘自己的长处。

我现在大四,远远担当不了你说的“大佬”,大家一起努力吧~
pytth
2020-02-20 08:05:05 +08:00
php curl 模拟表单提交
zjyl1994
2020-02-20 09:46:34 +08:00
可以考虑开一个 POST 接口,从 body 里读数据写到硬盘里。https 的话,看 webserver 怎么配置就好了,和你程序部分没关系

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

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

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

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

© 2021 V2EX