嘿,我正在尝试使用alamofire将音频文件上传到服务器。这是一个非常简单的POST
API,只有一个键uploadfile
。设置就像在邮递员中一样:
我已经使用邮递员对其进行了测试,并且可以正常工作。音频已上传,我可以在链接中找到它。
我正在尝试将此功能快速翻译。到目前为止,我有:
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")
是我在应用程序中其他地方所做的记录,它确实存在,我可以访问它并在需要时进行播放。有人可以给我指出我在这里做错了什么吗?