使用Alamofire难以上传音频文件

时间:2018-09-19 07:00:50

标签: ios swift alamofire

嘿,我正在尝试使用alamofire将音频文件上传到服务器。这是一个非常简单的POST API,只有一个键uploadfile。设置就像在邮递员中一样:

enter image description here

我已经使用邮递员对其进行了测试,并且可以正常工作。音频已上传,我可以在链接中找到它。

我正在尝试将此功能快速翻译。到目前为止,我有:

private func postAudio() {
        AudioRecordingService.shared.playRecording()
        let audioUrl = getDocumentsDirectory().appendingPathComponent("recording.mp4")
        guard let audioData: Data =  try? Data(contentsOf: audioUrl) else { return }
        let request = URLRequest(url: URL(string: "http://xx.xxx.xxx.xx:5000/audio")!)
        Alamofire.upload(multipartFormData: {(fromData: MultipartFormData) in
            fromData.append(audioData, withName: "uploadfile", fileName: "recording.mp4", mimeType: "audio/mpeg")
        }, with: request, encodingCompletion: {(encodingResult) in
            switch (encodingResult) {
            case .success:
                print("upload success")
            case .failure:
                print("Failed upload")
            }
        })
    }

当我可以使用该功能时,会收到消息“上传成功”,但是如果我检查文件是否在服务器上,则该文件不存在。我不确定我在做什么错。 let audioUrl = getDocumentsDirectory().appendingPathComponent("recording.mp4")是我在应用程序中其他地方所做的记录,它确实存在,我可以访问它并在需要时进行播放。有人可以给我指出我在这里做错了什么吗?

0 个答案:

没有答案