Javascript 在有棱角和微风的水疗中心进行plupload

Javascript 在有棱角和微风的水疗中心进行plupload,javascript,angularjs,breeze,plupload,Javascript,Angularjs,Breeze,Plupload,我有一个SPA应用程序,它使用angular和breeze,允许现场人员创建新实体,并将它们实时提交到我们的ERP。他们可以拍照并上传照片(目前使用的是iPad、iPhone和Galaxy设备)。这一切都很顺利 现在,我们希望在上传图像之前调整图像大小,以节省带宽,加快应用程序的速度,并使其更容易连接到邮件中。我让plupload(2.1.2)作为角度指令工作,它可以完美地调整/上传图像。问题是当一个新实体被创建并且页面被“重新加载”时,plupload不再响应。我将以下内容用于输入字段: &l

我有一个SPA应用程序,它使用angular和breeze,允许现场人员创建新实体,并将它们实时提交到我们的ERP。他们可以拍照并上传照片(目前使用的是iPad、iPhone和Galaxy设备)。这一切都很顺利

现在,我们希望在上传图像之前调整图像大小,以节省带宽,加快应用程序的速度,并使其更容易连接到邮件中。我让plupload(2.1.2)作为角度指令工作,它可以完美地调整/上传图像。问题是当一个新实体被创建并且页面被“重新加载”时,plupload不再响应。我将以下内容用于输入字段:

<input type="file"
capture="camera"
accept="image/*"
id="cameraInput"
pl-upload
pl-auto-upload="false"
pl-files-model="files"
pl-multi-params-model="multiParams"
pl-instance="uploadotron"
pl-entity="vm.report"
ng-file-select="vm.handleFile($files)"
ng-disabled="vm.state == 'Unchanged'" />
作为部分解决方法,我发现将实例对象(上面的pl instance=“uploadotron”,其中uploadotron附加到控制器中的$scope)传递到指令允许我手动添加文件并触发上载,但这只会在iPad上每隔一秒尝试触发ng file select。银河系运转正常

因此,问题是:

  • 为什么plupload在添加新实体后会停止工作,以及如何修复它?我输入了大量console.log语句,并验证了当页面重新加载时,plupload的初始化似乎是通过指令进行的,但browse事件不再触发。如果我完全离开页面并返回,它将重新开始工作。但这并不完全是用户友好的

  • 为什么iPad(safari,iOS 7.1.1)只在每秒选择照片/文件时调用ng文件选择功能

  • 谢谢你能给我的任何帮助

    更新:

    通过使用github()上的FileAPI并编写自己的指令来调用它,我已经解决了这个问题。现在很有魅力。我认为问题的一部分是ng file select是另一个指令的一部分,我当时没有意识到这一点。这意味着我在同一个输入元素中混合了两个指令

    var options = {runtimes: 'html5', 
           browse_button : 'cameraInput',
           multi_selection: false,
           container: 'uploadcontainer',
           max_file_size: '20mb',
           multiple_queues: false,
           url : '.breeze/Files/Upload',
           flash_swf_url : iAttrs.plFlashSwfUrl,
           silverlight_xap_url : iAttrs.plSilverlightXapUrl,
           filters: [{title : "Image files", extensions : "jpg,jpeg,gif,png,tiff,pdf"}],
           resize: {
               width: 1024,
               height: 768,
               crop: false,
               quality: 90
        }
    }