Я хочу передать мультимедийный файл через aiohttp
framework (в python 3.7
) и загрузить его одновременно с возможностью возобновления в IDM
. Путь к файлу указан, и заголовки также установлены. Я использовал partial content
и Content-Range
, чтобы активировать возможность возобновления в IDM
Файл хорошо потоковый, но у меня проблема с IDM
при загрузке Проблема здесь при загрузке с IDM
Я нажимаю кнопку Pause
, которую хочу перезапустить и продолжить загрузку, но она начинает загрузку с 0%
. Это сделало невозможным для меня использование resume capability
безупречной и полной, существующей в IDM
. Я хочу загрузить файл с IDM
, когда я нажимаю кнопку паузы, она приостанавливает загрузку, а когда я снова нажимаю кнопку пуска, она продолжает загрузку с того места, где она была приостановлена.
Я использовал следующий код для загрузкии потоковый файл, написанный с aiohttp
framework
@routes.get('/')
async def handle(request):
offset = 0
if 'Range' in dict(request.headers):
offset =int(hh['Range'][6:].split('-')[0])
with open(filepath, 'rb') as f:
resp = Response(status=206,
headers={'Content-Type': mimetypes.guess_type(filename)[0],
'CONTENT-LENGTH': str(file_size),
'Accept-Ranges': 'bytes',
'CONNECTION': 'keep-alive',
'Content-Range': 'bytes %d - %d/%d' % (offset, file_size, size)
},
)
data = f.read()
await resp.prepare(request)
await resp.write(data)
return resp
app = web.Application()
app.add_routes(routes)
web.run_app(app,host='0.0.0.0')