将文件下载到临时位置(例如在 RAM 中),return 为 http-request 中的 blob/encoded 格式,然后删除文件
Downloading file to a temporary location (e.g. in RAM), return as blob/encoded format in http-request, and delete file aftwards
我正在尝试通过 youtube-dl python 库下载 mp3 文件。但是,我不需要将它永久存储在文件系统中,而是需要将其存储在一些临时的快速访问位置,以便我可以立即通过 HTTP 将其传递到我的前端应用程序,然后将其删除。
有什么方法可以创建这样的路径吗?
首先使用 python 的临时文件库创建一个临时目录解决了这个问题。当临时目录被垃圾回收时,物理目录将被清理 up/deleted。然后将目录的路径传入youtube_dl选项:
temp = tempfile.TemporaryDirectory()
temp_path = temp.name.replace("\", "/")
ydl_opts = {
'outtmpl': temp_path + "/%(title)s.%(ext)s",
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}]
}
我正在尝试通过 youtube-dl python 库下载 mp3 文件。但是,我不需要将它永久存储在文件系统中,而是需要将其存储在一些临时的快速访问位置,以便我可以立即通过 HTTP 将其传递到我的前端应用程序,然后将其删除。 有什么方法可以创建这样的路径吗?
首先使用 python 的临时文件库创建一个临时目录解决了这个问题。当临时目录被垃圾回收时,物理目录将被清理 up/deleted。然后将目录的路径传入youtube_dl选项:
temp = tempfile.TemporaryDirectory()
temp_path = temp.name.replace("\", "/")
ydl_opts = {
'outtmpl': temp_path + "/%(title)s.%(ext)s",
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}]
}