我正在尝试使用我的cordova应用程序上传文件。当我使用localhost url进行测试时,文件已成功上传。现在,当我尝试使用我的远程服务器时,它会给我以下错误。它看起来甚至没有达到upload-url
FileTransferError {code: 1, source: "file:///storage/emulated/0/rec_13_13_11.wav", target: "https:///mobile_api/upload-hla-call-recording", http_status: 500, body: null, …} body:null code:1 exception:"https://route/to/upload/file" http_status:500 source:"file:///storage/emulated/0/rec_13_13_11.wav" target:"https://route/to/upload/file"
以下是上传文件的代码
fileSystem.root.getDirectory(dirName, { create: false }, function (dataDir) { fileURI = dataDir.toURL(); fileURI = fileURI + fileName; var options = new FileUploadOptions(); options.fileKey = "fileKey"; options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1); options.mimeType = "audio/mp3"; options.chunkedMode = false; var ft = new FileTransfer(); ft.upload(fileURI, server-url, win, fail, options, true); }, dirFail);
我使用cordova-plugin-file-transfer上传文件
答案 0 :(得分:0)
问题出在guzzlehttp上。它正在寻找https连接,而我的localhost正在使用http。强制为curl卷曲或提供带有http请求的证书。