ThunderCat, Дмитрий, да вы действительно правы мне нужно прописать функцию в контроллере, помогите пожалуйста у меня со всеми моделями работа с файлами идет через UploadBind, так в каком контроллере мне нужно прописать функцию нахождения имени файла в UploadBindController чтобы решение было общее и подходило всем?
Дмитрий, от свойства урл зависит с каим названием клиент скачает файл, если он пришел с урлом в котором хэш то и файл скачается с этим именем а не с оригинальным
Дмитрий, зачем мне делать отдельный запрос только для файла, когда я могу просто обратится к модели в которые и будут нужные мне файлы, а без модели и файлы то не нужны, сделано общее решение для всех моделей где нужны будут файлы. Окей теперь вопрос в другом, как мне запустить метод sendFile() и какой путь он принимает?
Дмитрий, у меня файлы привязываются к другим моделям с помощью UploadBind там уже используется модель Upload поэтому у меня роут на выдачу файл вообще может быть любой ну например:
host/yii2/api/v1/materials?accessToken=[token]&sort=sort&filter[theme_id]=80&per-page=50&filter[is_del]=0
и в ответе на модель материалы будет пункт с массивом images и тут вы можете увидеть какие урлы мне выдает сервер, именно с хэшем
урл как раз таки и надо изменить, смотрите на сервере у меня все файлы сохраняются по определенному пути, я уже писал выше и этот путь выдаёт им метод getUrl(), нужно чтобы он писал в систему все пути с хэшом, чтобы повторно загруженные файлы не загружались а просто заменялись хэшом, но при этом на клиенте он должен получать ссылку с именем файла он у меня есть в таблице upload на бд, на клиенте ничего менять не нужно, нужно поменять именно на сервере и вот я думаю что мне поможет метод
Yii::$app->response->sendFile
но почему то он у меня не работает точнее просто при попытке получить файл сайт в бесконечной загрузке, мне кажется решение моего вопроса лежит в решении запуска данного метода
Дмитрий, именно просто он скачивается с названием его хэша, а нужно чтобы было его ориганльное имя при этом чтобы в системе оставался хэш, то есть всё должно работать с хэшом но пользователю было видно оригинальное имя, и вся логика скачивания уже работает так что её писать не нужно
Дмитрий, система скачивания файла уже работает просто надо как то сделать так чтобы файлы хранились в хэше но при скачивании выдалось имя исходного файла, я вот не понимаю как выдавать имя чтобы не нарушать систему хранения файлов