2013-02-17 66 views
1

我使用carrierwave和jQuery文件上传。我试图在本地主机上上传文件。 Rails的基准说,总时间为几个mseconds:非常缓慢的文件上传在本地主机上的Rails

enter image description here

但在所有的浏览器这个时候长大了令人难以置信的价值! 这里是例如从铬:

enter image description here

文件大小是〜1MB

+0

花在浏览器/ javscript上的所有时间。你正在上传什么类型的文件?你的jQuery代码是什么样的?如果适用,请查看https://github.com/blueimp/jQuery-File-Upload/issues/1450。 – vladr 2013-02-17 16:36:41

+0

类型无关紧要。有图像,pdf,txt等我从例子中得到的jQuery代码。我认为,这不是jQuery的问题。因为当rails结束工作并将文件上传到“待处理”状态时,ruby进程会在待处理状态消失时吃掉我所有的CPU。更多文件大小 - 更多时间用于异常规模的上传。 – Meliborn 2013-02-17 16:59:04

+0

你看过线'''完成406不可接受'''?是你的jQuery正确处理这个答案? – phoet 2013-02-17 18:09:55

回答

0

您可以创建一个中间件和机架前刚刚插入,如:

class MultipartBufferSetter 

    def initialize(app) 
    @app = app 
    end 

    def call(env) 
    env.merge!(Rack::RACK_MULTIPART_BUFFER_SIZE => 100*1024*1024) 
    @app.call(env) 
    end 

end 

,然后:

config.middleware.insert_before "Rack::Runtime", "MultipartBufferSetter" 

您可以找到更多的信息here

希望它可以工作