0
所以我寫了下面的代碼:鞋掛在網:: FTP把
Shoes.app(:title=> "Humax Uploader", :width=>400, :height=>400) {
background rgb(240, 250, 208)
stack(margin:10) {
title "Humax Uploader"
server = '[ip]'
user = '[user]'
pass = '[pass]'
require 'net/ftp'
@feedback = para "Find a file:"
flow do
@filename = edit_line :width => 150
para ' '
button 'Browse...' do
@filename.text = ask_open_file
end
end
file_list = ['My Music','My Photo','My Video']
list_box :items => file_list do |list|
Net::FTP.open(server, user, pass) { |ftp|
usize = 0
fsize = File.size(@filename.text)
ftp.putbinaryfile(@filename.text,"/mnt/hd2/" + list.text + "/" + File.basename(@filename.text),1024) { |block|
usize += block.size
@p.fraction = fsize/usize
}
@file_select.text = "File uploaded!"
ftp.close
}
end
@p = progress :width => 360
@file_select = para " "
}
}
基本上,它的作用是讓用戶選擇一個文件,它應該進入,然後在文件夾中,該程序應該上傳它。
這種情況是正確的:東西上傳正常,但不幸的是:程序窗口在上傳期間掛起。爲什麼會發生這種情況(你是否遇到同樣的問題?),我該如何解決它?
感謝您的幫助!
請注意,我正在Windows上運行此腳本,尚未「build」爲可執行文件。
它掛起,直到文件上傳:然後進程欄填充,一切都很好。不幸的是,只是「添加」一個線程不適合我。現在將檢查出第二個鏈接! – TheUnpragmaticProgrammer
您的第二個鏈接已經發布了!必須在應用程序之外創建一個新線程並處理這些內容。現在我需要找出如何更新進度條:P – TheUnpragmaticProgrammer