现在我使用此代码进行上传而不使用ajax
@cherrypy.expose
def upload(self, file):
uload_path = pm.get_package_download_dir()
file_name = 'some.file'
if not isdir(uload_path):
try:
makedirs(uload_path)
except ValueError:
raise cherrypy.HTTPError(400, 'SOME_ERROR')
uload_path = uload_path + os.path.sep + file_name
size = 0
all_data = ''
while True:
data = file.file.read(8192)
all_data += data
if not data:
break
size += len(data)
try:
saved_file=open(uload_path, 'wb')
saved_file.write(all_data)
saved_file.close()
except ValueError:
raise cherrypy.HTTPError(400, 'SOME ERROR')
print 'OK'
但我找不到任何使用Cherrypy和Jquery上传ajax文件的例子。 请帮忙!
答案 0 :(得分:0)
最后,我通过iframe解决了这个问题
<iframe id="iframe" name="iframe" style="display:none;"></iframe>
<form id="upload" action="./upload" enctype="multipart/form-data" method="post" target="iframe">
<input type="file" id="file" name="file">
<input type="submit">
</form>
$('#iframe').load(function(){
console.log($(this).contents().find('#uploaded').val());
});
但我仍然无法获得上传进度条。 有什么建议吗?