2014-12-08 2 views
0

Я начал использовать Синатр,Синатр пример кода для загрузки большого файла

Прямо сейчас я использую следующий код для обработки загрузки файлов, Он отлично работает для небольших файлов, но когда дело доходит до больших файлов> 500MB Соединение разъединяется посередине.

dpath = "/some root path to file" 
get '/getfile/:path' do |path| 
    s = path.to_s 
    s.gsub!("-*-","/") 
    fn = s.split("/").last 
    s = dpath +"/"+ s 
    send_file s,:filename => fn 
end 
+0

Есть ли какие-либо коды ошибок, возвращаемые клиентом или журналом сервера? –

+0

Является ли 'dpath' опечаткой? – iain

+0

dpath- путь к корню определен gobally – Alfa

ответ

0

две вещи:

Что ваш метод validate делать? Если он пытается открыть файл в памяти, на вашем сервере может отсутствовать барабан (особенно с большими файлами).

Где вы устанавливаете fn? Это локальная переменная внутри области получения, и в вашем примере кода ничего не устанавливается.

+0

Я отредактировал код .. Я использую это в небольшом проекте. Я хотел бы знать, правильный ли мой подход. Исправьте меня, если я ошибаюсь. Спасибо – Alfa

Смежные вопросы