Başka bir sunucuya tornadoweb 'dan uploader oluşturdu. Ben beklemek zorunda nedenle tüm yükleme işlemi başka url (ShowQueue sınıfı) erişmek için bitmiş kadar uyumsuz tüm süreci engelleme olmadan bu ben yükleyici çalışması oluşturmak yapmak nasıl kodtornadoweb başka bir sunucu kilitleme işlemine yükleniyor
def create_callback(encoder,fileurl):
encoder_len = encoder.len
queueupload[fileurl] = {}
queueupload[fileurl]["size"] = encoder_len
def callback(monitor):
queueupload[fileurl]["current"] = monitor.bytes_read
# print queueupload
# bar.show(monitor.bytes_read)
return callback
class ShowQueue(tornado.web.RequestHandler):
@gen.coroutine
def get(self):
self.write(tornado.escape.json_encode({'success':True,'queuelist':queueupload}))
class UploadFile(tornado.web.RequestHandler):
@gen.coroutine
def get(self):
fileurl=self.get_argument("fileurl", None)
taxo=self.get_argument("taxonomi", None)
try:
filename = fileurl.split("\\")[-1]
# print filename
encoder = MultipartEncoder({
'taxonomi': taxo,
'myFile': (filename, open(fileurl, 'rb'), 'text/plain'),
})
callback = create_callback(encoder,fileurl)
monitor = MultipartEncoderMonitor(encoder, callback)
if(taxo!=""):
arrtaxo = taxo.split("/")
taxo = ":".join(arrtaxo)
taxo = "/"+taxo
r = requests.post('http://192.168.123.123:8080/upload'+taxo, data=monitor,
headers={'Content-Type': monitor.content_type})
if fileurl in queueupload:
del queueupload[fileurl]
self.write(tornado.escape.json_encode({'success':True,'reason':r.json()}))
except Exception as e:
exc = 'Exception: %s %s' % (e, filename)
self.set_status(500)
self.write(json_encode({'success':False,'exception':exc}))
olduğunu süreci engelleyebilecek ve hala kontrole sahip İptal (işlemi iptal etmek için henüz geri çağırma kullanıyorum ama henüz uygulanmadı)?
I f açık (FILEURL, 'r') ile kullanımı: gövde = f.read() yanıt = verim httpclient.AsyncHTTPClient() .fetch ('http://192.168.174.129:8080/upload'+taxo,method= "POST", başlıklar = {"İçerik Türü": "text/plain"}, body = {"myFile": body} fakat hata alıyorum İstisna: Beklenen bayt, unicode veya Yok; var –