我们项目是springmvc架构的,我现在写了一个页面,页面要嵌入在别的项目组的app中,现在可以调用phonegap中的摄像头拍摄照片并返回图片在手机中的路径,现在我要用phonegap上传图片到我们的服务器中,我是这么写的
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=picUrl.substr(picUrl.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var ft = new FileTransfer();
ft.upload(picUrl, "http://117.40.138.121/mobilecar/sale /ocr/ocrRecon", win, fail, options);
其中mobilecar是我们的项目,sale/ocr使用spring注解写的我们的类,ocrRecon是类中的读取图片流的方法。现在在页面中点击上传图片按钮,上传图片的进度条显示为0%,还提示初始化失败。项目太急了快被领导骂了,哪位大神做过给分析分析,万分感谢。
phonegap拍摄照片并上传文件到服务器
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-03 00:28关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
你已经正确地定义了
FileTransfer对象,并且设置了一些属性。然而,你的代码似乎有误,因为当你尝试上传文件时,它并没有成功。这里有一些可能的问题和解决方案:- 确保你的服务器端代码正在接收POST请求,并且正确处理了
multipart/form-data类型的数据。 - 确保你的服务器端代码正确处理了
fileName参数,并将它与你的客户端代码传递过来的值匹配起来。 - 确保你的客户端代码没有错误地将文件名设为空字符串(这会导致上传失败)。
以下是一个示例代码片段,展示了如何实现上述步骤:
var options = new FileUploadOptions(); options.fileKey = "file"; options.fileName = picUrl.substr(picUrl.lastIndexOf('/') + 1); options.mimeType = "image/jpeg"; options.maxFileSize = 5 * 1024 * 1024; // 5 MB options.requestType = 'post'; var fileTransfer = new FileTransfer(); fileTransfer.upload(picUrl, "/path/to/upload", function(file) { console.log("File uploaded successfully."); }, function(err) { console.error("Error uploading file: ", err); }, options);在这个示例中,我添加了
maxFileSize属性来限制文件大小,以避免上传超大的文件。此外,我还修改了win和fail回调函数的签名,以便它们能够接受一个包含响应数据的对象作为参数。希望这些信息对你有所帮助!如果你还有其他问题,请随时提问。
解决 无用评论 打赏 举报- 确保你的服务器端代码正在接收POST请求,并且正确处理了