bugfix
This commit is contained in:
parent
32add5ddb4
commit
a2dfc23666
@ -8,7 +8,7 @@ import aiofiles
|
|||||||
import json
|
import json
|
||||||
import time
|
import time
|
||||||
import base64
|
import base64
|
||||||
|
from urllib.parse import quote
|
||||||
from appPublic.worker import get_event_loop
|
from appPublic.worker import get_event_loop
|
||||||
from appPublic.folderUtils import _mkdir
|
from appPublic.folderUtils import _mkdir
|
||||||
from appPublic.base64_to_file import base64_to_file, getFilenameFromBase64
|
from appPublic.base64_to_file import base64_to_file, getFilenameFromBase64
|
||||||
@ -212,6 +212,10 @@ async def downloadfile2url(request, url, headers=None, params=None, data={}, met
|
|||||||
url = env.entire_url('/idfile?path=') + env.quote(webpath)
|
url = env.entire_url('/idfile?path=') + env.quote(webpath)
|
||||||
return url
|
return url
|
||||||
|
|
||||||
|
def get_baseurl():
|
||||||
|
baseurl = os.environ.get('BASEURL')
|
||||||
|
return baseurl
|
||||||
|
|
||||||
async def base642file(b64str):
|
async def base642file(b64str):
|
||||||
filename = getFilenameFromBase64(b64str)
|
filename = getFilenameFromBase64(b64str)
|
||||||
if ',' in b64str:
|
if ',' in b64str:
|
||||||
@ -223,4 +227,24 @@ async def base642file(b64str):
|
|||||||
await f.write(binary_data)
|
await f.write(binary_data)
|
||||||
return fpath
|
return fpath
|
||||||
|
|
||||||
|
async def b64media2url(request, mediafile):
|
||||||
|
# env = request._run_ns
|
||||||
|
# entire_url = env.entire_url
|
||||||
|
if mediafile.startswith('http://') or mediafile.startswith('https://'):
|
||||||
|
return mediafile
|
||||||
|
webpath = mediafile
|
||||||
|
if mediafile.startswith('data:'):
|
||||||
|
fpath = await base642file(mediafile)
|
||||||
|
webpath = FileStorage().webpath(fpath)
|
||||||
|
elif len(mediafile) > 8000:
|
||||||
|
e = Exception(f'mediafile is not a media file')
|
||||||
|
exception(f'{e}')
|
||||||
|
return ''
|
||||||
|
if request:
|
||||||
|
url = entire_url('/idfile?path=') + quote(webpath)
|
||||||
|
return url
|
||||||
|
baseurl = get_baseurl()
|
||||||
|
if baseurl:
|
||||||
|
return f'{baseurl}/idfile?path={quote(mediafile)}'
|
||||||
|
return f'/idfile?path={quote(mediafile)}'
|
||||||
|
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import datetime
|
|||||||
from openpyxl import Workbook
|
from openpyxl import Workbook
|
||||||
from tempfile import mktemp
|
from tempfile import mktemp
|
||||||
|
|
||||||
|
from base64_to_file import hex2base64
|
||||||
from appPublic.jsonConfig import getConfig
|
from appPublic.jsonConfig import getConfig
|
||||||
from appPublic.dictObject import DictObject
|
from appPublic.dictObject import DictObject
|
||||||
from appPublic.Singleton import GlobalEnv
|
from appPublic.Singleton import GlobalEnv
|
||||||
@ -77,7 +78,7 @@ from .error import (
|
|||||||
|
|
||||||
from .filetest import current_fileno
|
from .filetest import current_fileno
|
||||||
from .filedownload import path_download, file_download, file_response
|
from .filedownload import path_download, file_download, file_response
|
||||||
from .filestorage import FileStorage, downloadfile2url
|
from .filestorage import FileStorage, downloadfile2url, get_baseurl, b64media2url
|
||||||
from .serverenv import ServerEnv
|
from .serverenv import ServerEnv
|
||||||
|
|
||||||
def server_error(errcode):
|
def server_error(errcode):
|
||||||
@ -105,10 +106,6 @@ def basic_auth_headers(user, passwd):
|
|||||||
"Authorization":ba.encode()
|
"Authorization":ba.encode()
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_baseurl():
|
|
||||||
baseurl = os.environ.get('BASEURL')
|
|
||||||
return baseurl
|
|
||||||
|
|
||||||
async def stream_response(request, async_data_generator, content_type='text/html'):
|
async def stream_response(request, async_data_generator, content_type='text/html'):
|
||||||
res = StreamResponse()
|
res = StreamResponse()
|
||||||
if content_type:
|
if content_type:
|
||||||
@ -335,6 +332,8 @@ def initEnv():
|
|||||||
g.return_error = return_error
|
g.return_error = return_error
|
||||||
g.openai_401 = openai_401
|
g.openai_401 = openai_401
|
||||||
g.get_baseurl = get_baseurl
|
g.get_baseurl = get_baseurl
|
||||||
|
g.hex2base64 = hex2base64
|
||||||
|
g.b64media2url = b64media2url
|
||||||
g.openai_403 = openai_403
|
g.openai_403 = openai_403
|
||||||
g.openai_400 = openai_400
|
g.openai_400 = openai_400
|
||||||
g.openai_429 = openai_429
|
g.openai_429 = openai_429
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user