如何使用 Alamofire 5 将视频作为文件直接上传到服务器?

How to upload videos as a file directly to server using Alamofire 5?

提问人:Emil Ryd 提问时间:6/30/2022 更新时间:6/30/2022 访问量:54

问:

我希望将存储在下载应用程序的移动设备上的视频文件上传到我的服务器中的文件夹(使用 PHP 运行)。我正在尝试使用 Alamofire 来做到这一点,它在他们的文档中说我不应该为此使用多部分表单数据,因为它可能太慢/占用内存。相反,按照 Alamofire 文档中的建议,我使用以下代码将视频文件直接上传到服务器:

AF.upload(videoURL, to: "[string of url of my server folder]")

这里,videoURL 是手机上视频(mp4 文件)的本地 url。 现在,至于我的服务器的 url,如果我只是输入文件夹的路径,我得到的返回字符串似乎只是抓取了您在将链接传递到浏览器时获得的网页的 HTML 代码,并且文件没有上传。

然后,如果我在文件夹中写入一个尚不存在的新文件的路径,错误消息只是说:

在此服务器上找不到请求的 URL。

最后,我尝试在服务器文件夹中传递一个已经存在的 mp4 文件的 url 和一个视频,希望当我上传到这个 url 时,这个视频将被我的视频文件替换。但是,从服务器返回的消息是一个非常(非常)长的字符串(使 Xcode 非常滞后),我相信它是文件中已有的当前视频的一些表示形式,并且在服务器上视频尚未被替换。

因此,我尝试了这三种不同的可能性,但似乎都没有将文件上传到服务器。你知道问题出在哪里吗?我是否需要在服务器端使用 PHP 代码做一些事情,或者它只是为了像这样上传视频而没问题?根据我在文档中可以找到的内容,在我看来,这应该没问题。

文档链接:https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md

php swift video alamofire afnetworking

评论

0赞 cora 6/30/2022
您的远程 URL 应该是可以处理您发出的请求的路由。
0赞 Emil Ryd 6/30/2022
@cora 因此,远程 URL 应该指向一个 php 文件,然后可以将文件放置在服务器中应该放在的位置?
0赞 cora 7/1/2022
它应该是服务器上运行的某种软件来处理请求,不一定是php

答: 暂无答案