我在Heroku上的项目遇到了问题,当我在localhost上从Youtube上下载视频时,我使用了一个代码,它接受用户的名字并将其放入Donwload目录中,但在Heroku中它没有放在那里,我怀疑是在查找导演的位置时出现了一些问题
@app.route('/', methods=['POST'])
def getvalue():
if request.method == 'POST':
name = request.form['url']
try:
url = name
youtube = pytube.YouTube(url)
video = youtube.streams.get_highest_resolution()
audio = youtube.streams.get_audio_only()
video_path = r'C:/Users/' + getpass.getuser() + '/Downloads/Youtube_Download'
audio_path = r'C:/Users/' + getpass.getuser() + '/Downloads/Youtube_Download/Audio'
if not os.path.exists(video_path):
os.makedirs(video_path)
os.makedirs(audio_path)
video.download(video_path)
audio.download(audio_path)
return render_template('index.html')
发布于 2021-01-23 08:11:24
问题是Heroku Dyno中没有‘C:/Users/’,因为它是一个Linux环境。
那里的文件夹结构将与您的项目文件夹结构相匹配。
但我实际上并不建议在Heroku Dyno中存储任何用户数据,因为每次重启应用程序时(例如部署新版本时),用户数据都会被擦除。您可以使用像亚马逊S3这样的存储桶来实现这一点。
https://stackoverflow.com/questions/65854375
复制相似问题