macbook没有权限打开文件_记录我曲折的webDav配置之路(macbook篇)

55b33cc71c28398ede26d0618cdaf644.png

给自己的iOS app写网络功能,从零学起,找资料,配置apache服务器。捣鼓几下终于可以浏览器访问了。但MKNetworkKit玩不转,怒而转AFNetworking。

然后GET方式下载数据也成功了。但上传一直弄不好。

反复看视频教程发现用POST请求必须在服务器端有脚本(html或php)支持,但现在我还不会啊。想省事用PUT方法,视频里介绍apache扩展一个webDav服务器,上传文件就像拖拽一样方便。结果一省就省出事来了,昨天捣鼓了一天,头发掉了大把。而今天戏剧性地跑通了。开贴记录一下。

1、配置webDav

阿帕奇apache服务器和webDav服务器快速配置。 - 董铂然 - 博客园​www.cnblogs.com
bd754e3a8e67183d2af02b1ff71187dd.png

一开始搜到的是这篇博客,由于已经配置过apache,所以改文件什么的还比较好弄。

需要注意的是这几个文件都被系统上锁,即使输入一万遍密码给了一万个账户权限依然无法解锁。外面告诉你已经有读写权限了,点开文件修改的时候告诉你要解锁,点Unlock有跟你说你无权解锁。后面翻到这篇博客才知道要用sudo su。不知道乔布斯时代苹果的系统是不是这种辜儿设定。

苹果电脑上修改 httpd.conf文件异常​www.maomao365.com
7f648981bd4fce2a76c8bee08022ed16.png

httpd.conf的修改还好,就是打开几个webdav相关的功能。

httpd-dav.conf的修改我留了个心眼,为了一致性把webdav服务器文件夹位置改成了apache服务器的子路径/Users/计算机名/myweb。事实证明还好留了个心眼,当前版本的mac OS是不允许修改/usr权限的,用sudo su也不行,mmp。

然而接下来就呵呵了,接下来的设置是需要用脚本的(视频里也是),然而提供的链接已经失效(况且直接用脚本不清楚它做了什么也不放心)。于是乎又找啊找,找到一篇手把手教的博客:

通过终端命令行进行WebDav服务器配置,实现使用PUT进行文件上传【图文详解】_萧动的专栏-CSDN博客​blog.csdn.net
34820346fc03df2ef370242f74ce9818.png

得知脚本所做的内容大致是创建一个admin及密码文件、创建upload文件夹以及存Davlock数据的文件夹并设定其权限。做完这一步大功告成,赶紧去访达连接服务器测试吧!图样图森破!要先sudo apachectl -k restart重启apache啦!

总之,输入用户名admin密码******,可以看到服务器uploads了。第一部分完成。

2、恼人的500

然后我立即点开XCode测试我的代码,果不其然上传失败。这个怪我没仔细看视频,在配置webdav之后的下一集详细讲了怎么配置用户名密码又怎么UTF8转码又base64转码变成一堆英文密码再setValue进request的过程。这也不难嘛,不看视频百度几下也是能搜到的。

改完代码,依然上传失败。

错误代码:Code=-1011 "Request failed: internal server error (500)

虽然能百度到一些似是而非的解决方案,但是大部分还是讲这是服务器没有设置好。怎么会?我一步一步照着来设置的webdav啊。关键是,我还能怎么改设置?Stackoverflow让我去找后端去,我上哪去找后端?哦,我就是后端,那没事了。

AFNetworking 3.0 Error: “Request failed: internal server error (500)”​stackoverflow.com
10cbf4fefb39d74c065bc358b023d741.png

后面我试了下,直接把文件复制进/Users/计算机名/myweb/uploads,以及在这里删除,是可以的。

然而我通过连接服务器进入http://127.0.0.1/uploads,复制文件到这个路径下,奇(gou)迹(shi)发生了,复制不进去,提示“finder不能完成该操作 因为未能读取或写入"文件名"中的某些数据(错误代码-36)”。

我猜问题就在这里了,因为视频教程里演示过拖一个图片文件进去,没有任何问题。枸驲的苹果公司,天天叫这也没权限那也没权限?我在http://127.0.0.1/uploads下显示uploads的简介,看到只有系统权限读和写以及everyone没有任何权限。这个简单,我改!嗯?又没有权限?我到底买了个macbook还是买了个爹?

一个下午就在百度、拖文件、该权限失败中度过。头发抓掉了大把。

临近下班,实在没辙了,把macbook带回去看看。

回家也没心思继续搜博客,直接利用家里的网给macbook升级好了,公司的无线网不给连外网,已经有段时间没更新系统了。

3、升级到mac OS 11.01

我macbook原来的系统版本是10.16还是1几忘了,叫什么Catalina,升级了叫Big Sur。升级前怕苹果搞我备份了自己的xcode代码。

升级了之后xcode,代码没事。apache配置时改过的httpd.conf、httpd-dav.conf全都给我改回去了,mmp。又花了将近半小时修改。好在myweb文件夹下的uploads文件夹、admin密码文件也没事。

ok,试试http://127.0.0.1/uploads吧,如果再不成就回去学php写脚本用POST请求,说不定写个简单的脚本还要不了一天半,关键是被折腾死了。

结果,今天居然可以把文件拖进http://127.0.0.1/uploads了!

再测试代码,上传还是失败,只不过不报internal server error,报的是"Code=-1016 "Request failed: unacceptable content-type: text/html"。随便找了个博客:

iOS开发使用AFN请求服务器数据,报错误码-1016的解决办法(图解)_moses的博客-CSDN博客​blog.csdn.net
dd3c3edb94f2ad9ccc465ba9120c67c3.png

轻松搞定,再测试,上传成功!

成功了!

成了!

了!

然而一切只是个开始,接下来还要在windows笔记本上配置一遍webdav再测试跨设备联机效果,天哪!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值