电话间隙文件传输异步
Phonegap filetransfer async
我有一个应用程序工作流程,如下所示。
1) 用户打开表单。输入数据2)点击添加照片按钮,选择照片。3)照片被上传,一条新记录入到我的数据库中,其中包含表单数据和照片URL。
使用文件传输方法上传照片即可。
我的代码如下:
我检查变量 s.photo 是否已设置。
if(app.isEmpty(s.photo)) {
photo = "" ;
}else {
app.uploadPhoto();
alert(s.photoresponse);
}
在此处保存详细信息
我的上传照片功能如下:
uploadPhoto: function () {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=s.photo.substr(s.photo.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var params = new Object();
options.params = params;
options.chunkedMode = false;
alert("uploading photo");
var ft = new FileTransfer();
ft.upload(s.photo, encodeURI("http://server.com/upload.php"), app.win, app.fail, options);
}
我的 app.win 函数只是将响应设置为 s.photoresponse
win: function (r) {
s.photoresponse = r.response;
}
如果你检查第一个函数,我试图提醒s.photoresponse变量。因此,即使照片上传到服务器上,我也无法将照片URL插入服务器。
文件传输方法是异步的。在提交表单之前,我如何仍能检索照片网址?
正如您所说,您需要将提交表单逻辑移动到 app.win 函数...是异步的,但您在此成功函数中从上传中获得响应。
win: function (r) {
s.photoresponse = r.response;
// Here comes your submit form logic....
alert(s.photoresponse); //<--From your example
}
相关文章:
- esri javascript异步打印
- JavaScript异步问题
- $translateProvider.useStaticFilesLoader的Angular Translate异步定
- 异步facebook功能
- 异步并行错误
- 在Redux中,我应该在哪里编写复杂的异步流
- d3js文本传输-示例代码不起作用
- 角度异步http自动完成
- 如何从SeleniumWebdriver获取异步Javascript响应
- 如何使用异步调用更改工厂的变量
- 在等待异步任务时永久循环
- 如何在异步函数中使用javascript对象
- 调用后不异步Ajax忽略函数
- 使用JQuery&异步传输
- 无法传输包含异步等待的TypeScript
- 将javascript变量传输到插件函数(异步URL)
- 电话间隙文件传输异步
- 意外的令牌'<'-异步传输
- setInterval&异步传输
- 如何从控制器中多次调用方法?异步传输