Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Angular JS Web应用程序中的ngCordova_Angularjs_Eclipse_Cordova_Cordova Plugins_Ngcordova - Fatal编程技术网

Angularjs Angular JS Web应用程序中的ngCordova

Angularjs Angular JS Web应用程序中的ngCordova,angularjs,eclipse,cordova,cordova-plugins,ngcordova,Angularjs,Eclipse,Cordova,Cordova Plugins,Ngcordova,我不是AngularJS方面的专家,最近开始学习AngularJS,我正在尝试在AngularJS WEB应用程序中创建一个响应表单,它可以让我从移动浏览器(不是移动应用程序)上传文件或照片。在通过移动浏览器上传任何内容之前,我应该检查移动设备的本机设置(不是浏览器设置,而是移动设备的设置)。 为了实现这一点,我将ngCordova与包装器$cordoviletransfer一起使用。我在Eclipse中有一个普通的项目,我在我的索引页面中包含了以下文件(我在项目中本地存储了这些文件) cor

我不是AngularJS方面的专家,最近开始学习AngularJS,我正在尝试在AngularJS WEB应用程序中创建一个响应表单,它可以让我从移动浏览器(不是移动应用程序)上传文件或照片。在通过移动浏览器上传任何内容之前,我应该检查移动设备的本机设置(不是浏览器设置,而是移动设备的设置)。 为了实现这一点,我将ngCordova与包装器$cordoviletransfer一起使用。我在Eclipse中有一个普通的项目,我在我的索引页面中包含了以下文件(我在项目中本地存储了这些文件)

  • cordova.js
  • file.js
  • fileTransfer.js
  • ng-cordova.js
  • ng-cordova.min.js
因为我正在使用Eclipse,所以我尝试安装THyM插件,但它不会安装在我的工作空间中。下面是我的控制器代码

angular.module('app').controller(
    'CordovaCtrl',
    function($scope, $timeout, $cordovaFileTransfer) {
        document.addEventListener("deviceready", function(
                $cordovaFileTransfer) {
            alert("Inside the Cordova Controller - deviceready");
            var fileToUpload = "";
            var options = {

                fileKey : "sendFile",
                fileName : "angularJSFileToUpload",
                chunkedMode : false,
                mimeType : "text/plain"

            };
            var server = "C:/Dev/Angular file receiver";// Temporary path
            var targetPath = "C:/Dev/Angular file sender";// Temporary path
            $cordovaFileTransfer.upload(server, targetPath, options).then(
                    function() {
                        alert("Success");
                    }, function(err) {
                        alert("Error");
                    });

        }, false)
    }); 
我知道所有插件调用都应该包装在
“deviceready”
事件中。每当我运行我的项目,我都会在浏览器控制台上看到下面的错误

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8080/fileupload/cordova/cordova_plugins.js
Uncaught TypeError: Object #<Event> has no method 'upload' app.js:46
加载资源失败:服务器响应状态为404(未找到)http://localhost:8080/fileupload/cordova/cordova_plugins.js
未捕获类型错误:对象#没有方法“上载”app.js:46
我不确定cordova_plugins.js是从哪里获取的。我在一些论坛上读到,它是在运行时生成的(我可能错了)。 有人知道这里出了什么问题吗?我想我在配置部分遗漏了一些东西。甚至可以在web应用程序中使用ngCordova,因为它被认为是用于移动开发的吗?

请尝试下面的代码 请尝试下面的代码
请用你的代码发布解释,而不仅仅是大块代码。请用你的代码发布解释,而不仅仅是大块代码。
angular.module('app')
.controller('CordovaCtrl', function($scope, $timeout, $cordovaFileTransfer) {

    document.addEventListener("deviceready", function() {
        alert("Inside the Cordova Controller - deviceready");
        var fileToUpload = "img.png";
        var options = {
            fileKey : "sendFile",
            fileName : "angularJSFileToUpload",
            chunkedMode : false,
            mimeType : "text/plain"

        };
        var server = "C:/Dev/Angular file receiver";// Temporary path
        var targetPath = "C:/Dev/Angular file sender";// Temporary path

        $cordovaFileTransfer.upload(server, targetPath, options)
        .then(function(result) {
                    alert("Success");
                }, function(err) {
                    alert("Error");
                }, function(progress){
                 alert("In Progress");
                });
    }, false)
});