bugfix
This commit is contained in:
parent
c82b30476d
commit
aac5d31d97
@ -182,14 +182,14 @@ def file_realpath(path):
|
||||
fs = FileStorage()
|
||||
return fs.realPath(path)
|
||||
|
||||
async def downloadfile(url, headers=None, params=None, data={}):
|
||||
async def downloadfile(url, headers=None, params=None, data={}, method='GET'):
|
||||
filename = url.split('/')[-1]
|
||||
fs = FileStorage()
|
||||
fpath = fs._name2path(filename, userid='tmp')
|
||||
try:
|
||||
async with aiofiles.open(fpath,'wb') as f:
|
||||
shc = StreamHttpClient()
|
||||
async for chunk in shc('GET', url,
|
||||
async for chunk in shc(method, url,
|
||||
headers=headers,
|
||||
params=params,
|
||||
data=data):
|
||||
@ -199,6 +199,14 @@ async def downloadfile(url, headers=None, params=None, data={}):
|
||||
exception(f'save {url} to {fpath} exception:{e}')
|
||||
raise e
|
||||
|
||||
async def downloadfile2url(request, url, headers=None, params=None, data={}, method='GET'):
|
||||
fpath = await downloadfile(url, headers=headers, params=params, data=data, method=method)
|
||||
fs = FileStorage()
|
||||
webpath = fs.webpath(fs)
|
||||
env = request._run_ns
|
||||
url = env.entire_url('/idfile?path=') + env.quote(webpath)
|
||||
return url
|
||||
|
||||
async def base642file(b64str):
|
||||
filename = getFilenameFromBase64(b64str)
|
||||
if ',' in b64str:
|
||||
|
||||
@ -63,7 +63,7 @@ from .uriop import URIOp
|
||||
from .error import Success, Error, NeedLogin, NoPermission
|
||||
from .filetest import current_fileno
|
||||
from .filedownload import path_download, file_download
|
||||
from .filestorage import FileStorage
|
||||
from .filestorage import FileStorage, downloadfile2url
|
||||
from .serverenv import ServerEnv
|
||||
|
||||
def server_error(errcode):
|
||||
@ -317,6 +317,7 @@ def initEnv():
|
||||
g.server_error = server_error
|
||||
g.FileStorage = FileStorage
|
||||
g.str_tmpl_render = string_template_render
|
||||
g.downloadfile2url = downloadfile2url
|
||||
|
||||
def set_builtins():
|
||||
all_builtins = [ i for i in dir(builtins) if not i.startswith('_')]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user