小编plo*_*cks的帖子

在Cordova中合并文件的多个部分

在我的Cordova应用程序中,我正在下载任意文件,如图像或视频文件.这是通过Cordova文件传输插件和"Range"标头完成的,因为我需要部分下载文件.

我的问题是,我想将几​​个小的"字节"文件合并回原来的文件,他们曾经在那里使用该文件.每次我尝试通过FileReader将结果部分读取为binaryString并将它们一起写入新文件时,该文件最终会比原始文件altogther的部分大得多,并且生成的文件无法使用.

任何帮助表示赞赏.

这是我的代码,直到现在(冗长和丑陋):

document.addEventListener('deviceready', deviceready, false);

var App;

var finishedFileUrl = "";

var async = {
    sequence: function(items, callback) {       
        var def = $.Deferred(),
        deferrers = [$.Deferred()];

        for(var i = 0; i < items.length; i++) {
            (function (n) {     
                deferrers[n + 1] = $.Deferred();
                deferrers[n].always(function() {
                    callback(items[n], deferrers[n + 1]);
                });
            })(i);  
        }
        deferrers[items.length].always(function() {
            def.resolve();
        });         
        deferrers[0].resolve();

        return def.promise();
    }
}

var aSmallImageArray = [
'' // Put URL to JPG accessible with Range Header Request here
]; …
Run Code Online (Sandbox Code Playgroud)

javascript file concatenation file-transfer cordova

9
推荐指数
1
解决办法
747
查看次数

Graylog2与Symfony 2(Monolog)

我想在SF2项目中使用"Monolog - > GelfHandler".所以我已经将以下内容添加到我的composer.json中:

"graylog2/gelf-php": "dev-master"
Run Code Online (Sandbox Code Playgroud)

我的SF2 config.yml:

monolog:
    handlers:
        main:
            type: gelf
            publisher:
                hostname: %Graylog2.Host%
                port: %Graylog2.Port%
            level: info
            formatter: monolog.formatter.session_request
Run Code Online (Sandbox Code Playgroud)

但是现在,如果我想记录某些内容,我在GelfHandler :: write()中收到错误

Gelf\Publisher::publish() must be an instance of Gelf\MessageInterface, string given
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

php symfony monolog graylog2

8
推荐指数
1
解决办法
3905
查看次数

JS:如何跟踪有很多函数调用的错误

每个函数都创建新的错误对象.那么我怎么能得到错误的错误呢?例如,这是我的代码:

function main(callback) {
    a(function(err) {
        if (err) {
            callback(new Error('cannot run main function..'));
            return
        }
    })
}


function a(callback) {
    b(function(err) {
        if (err) {
            callback(new Error('cannot run b function'));
            return
        }
    })
}


function b(callback) {
    if (1 == 2) callback(new Error('Error in b function'))
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我只得到最后一个错误("无法运行主函数")但我想得到以前的所有错误.你有没有最好的实践?

我在做什么是这样的:

if(err){
  err=new Error('cannot run this function.\r' + err.message)
}
Run Code Online (Sandbox Code Playgroud)

我问,你知道任何其他图书馆或更好的方法.扩展Error对象的东西......

就像是:

err.push(new Error('...'))
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous

7
推荐指数
1
解决办法
172
查看次数

在cygwin下,Buildozer不能与java一起使用

我正在尝试进入buildozer android debug deploy我的cygwin环境.到目前为止它工作得很好,但在尝试构建时,我遇到以下错误:

$ buildozer android debug deploy
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/buildozer-0.15_dev-py2.7.egg/buildozer/targets/android.py", line 92, in check_requirements
self._set_win32_java_home()
File "/usr/lib/python2.7/site-packages/buildozer-0.15_dev-py2.7.egg/buildozer/targets/android.py", line 186, in _set_win32_java_home
    import _winreg
ImportError: No module named _winreg
# Install platform
# Apache ANT found at /home/Data/.buildozer/android/platform/apache-ant-1.8.4
# Android SDK found at /home/Data/.buildozer/android/platform/android-sdk-21
# Android NDK found at /home/Data/.buildozer/android/platform/android-ndk-r9c

ERROR: No suitable …
Run Code Online (Sandbox Code Playgroud)

java android cygwin build winreg

5
推荐指数
1
解决办法
477
查看次数

Javascript在另一个函数中使用返回值

我想要实现的是使用"previewfile"函数的返回值作为"readfiles"函数的执行指示器.但这需要在执行"image.onload"部分之后,因为我需要returnThis设置为true.我已经在谷歌和Stackoverflow上研究了一些关于这个问题和一般回调/延迟对象的事情,但是我不能在这种情况下如何应用它.

我的图片上传部分中有以下星座:

function previewfile(file, tests, acceptedTypes, holder) {
    var returnThis = false;                                                                               
    if (tests.filereader === true && acceptedTypes[file.type] === true) {                                                                
        var reader = new FileReader();                                                                                                   
        reader.onload = function (event) {                                                                                               
            var image = new Image();                                                                                
            image.onload = function() {                                                                                                  
                var testimage = new Image();                                                                                             
                testimage.src = $(this).attr('src');                                                                                     
                var widthOfImage = testimage.width;                                                                                      
                var heightOfImage = testimage.height;                                                                                    
                if (!checkImageDimensions(widthOfImage, heightOfImage)) {
                    // do stuff                                                  
                } else {
                    returnThis = true;                                                                                           
                }                                                                                                                        
            };                                                                                                                           
            image.src = event.target.result; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery callback return-value deferred

5
推荐指数
1
解决办法
718
查看次数