Iframe funcs.
This commit is contained in:
parent
be35a6caf0
commit
2cfb8fe308
@ -12,6 +12,10 @@ class BaseView(web.View):
|
|||||||
return web.HTTPFound("/")
|
return web.HTTPFound("/")
|
||||||
return await super()._iter()
|
return await super()._iter()
|
||||||
|
|
||||||
|
@property
|
||||||
|
def base_url(self):
|
||||||
|
return str(self.request.url.with_path('').with_query(''))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def app(self):
|
def app(self):
|
||||||
return self.request.app
|
return self.request.app
|
||||||
|
@ -38,6 +38,17 @@ class UploadView(BaseView):
|
|||||||
drive = await self.services.drive.get_or_create(user_uid=self.request.session.get("uid"))
|
drive = await self.services.drive.get_or_create(user_uid=self.request.session.get("uid"))
|
||||||
|
|
||||||
print(str(drive), flush=True)
|
print(str(drive), flush=True)
|
||||||
|
extension_types = {
|
||||||
|
".jpg": "image",
|
||||||
|
".gif": "image",
|
||||||
|
".png": "image",
|
||||||
|
".jpeg": "image",
|
||||||
|
".mp4": "video",
|
||||||
|
".mp3": "audio",
|
||||||
|
".pdf": "document",
|
||||||
|
".doc": "document",
|
||||||
|
".docx": "document"
|
||||||
|
}
|
||||||
|
|
||||||
while field := await reader.next():
|
while field := await reader.next():
|
||||||
if field.name == "channel_uid":
|
if field.name == "channel_uid":
|
||||||
@ -58,10 +69,20 @@ class UploadView(BaseView):
|
|||||||
drive_item = await self.services.drive_item.create(
|
drive_item = await self.services.drive_item.create(
|
||||||
drive["uid"], filename, str(file_path.absolute()), file_path.stat().st_size, file_path.suffix
|
drive["uid"], filename, str(file_path.absolute()), file_path.stat().st_size, file_path.suffix
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type_ = "unknown"
|
||||||
|
extension = "." + filename.split(".")[-1]
|
||||||
|
if extension in extension_types:
|
||||||
|
type_ = extension_types[extension]
|
||||||
|
|
||||||
|
await self.services.drive_item.save(drive_item)
|
||||||
|
response = "<iframe width=\"100%\" frameborder=\"0\" allowfullscreen title=\"Embedded\" src=\"" + self.base_url + "/drive.bin/" + drive_item["uid"] + "\"></iframe>\n"
|
||||||
|
if type_ == "image":
|
||||||
|
response = ""
|
||||||
|
|
||||||
await self.services.chat.send(
|
await self.services.chat.send(
|
||||||
self.request.session.get("uid"), channel_uid, f""
|
self.request.session.get("uid"), channel_uid, response
|
||||||
)
|
)
|
||||||
print(drive_item, flush=True)
|
print(drive_item, flush=True)
|
||||||
|
|
||||||
return web.json_response({"message": "Files uploaded successfully", "files": [str(file) for file in files], "channel_uid": channel_uid})
|
return web.json_response({"message": "Files uploaded successfully", "files": [str(file) for file in files], "channel_uid": channel_uid})
|
||||||
|
Loading…
Reference in New Issue
Block a user