我使用phonegap + jquery mobile在windows和android中创建和应用。 我有一个文件上传功能,它在Android构建上正常工作,但在Windows构建中它显示错误代码3(FileTransferError.CONNECTION_ERR)。
我的代码如下:
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = 'xxxxxx.mp3';
options.mimeType = 'audio/mpeg3';
var fileFullPath = rootFolderPath+"xxxxxx.mp3";
var params = new Object();
params.songId = 12;
options.params = params;
options.headers = {
Connection: "close"
}
options.chunkedMode = false;
var uploadUrl = "www.myapiurl.com";
var ft = new FileTransfer();
ft.upload(fileFullPath, encodeURI(uploadUrl), winUpload, failUpload, options);
请有人帮我解决这个问题。 谢谢大家
答案 0 :(得分:0)
查看文件传输插件的Windows实现的源代码,如果在尝试联系服务器时根本没有响应,则返回CONNECTION_ERR,因此我怀疑这可能是一个安全问题;也许是一个CORS问题?您的config.xml文件中是否有<access origin="*" />
(这是Cordova的默认设置)?另外,如果您正在使用jQuery Mobile,您是否在启动代码中调用$.mobile.allowCrossDomainPages
(JQM默认为&#34;不允许&#34;)?
同样在Windows Phone 8上(这是专门针对8对8.1),您需要同时授予&#34; Internet(客户端和服务器)&#34;和#34;私人网络&#34; package.windows80.appxmanifest文件中的功能,以便您可以访问用户的公共和工作/私人互联网连接,否则您将收到连接错误:
<Capabilities>
<Capability Name="internetClientServer" />
<Capability Name="privateNetworkClientServer" />
</Capabilities>
这里有关于这些功能的完整文章:
https://msdn.microsoft.com/en-us/library/windows/apps/hh770532.aspx