Обновление: хотя метод, который я опишу ниже, все еще будет работать, невозможно загрузить файлы напрямую, используя токены (спасибо DesignerGuy за эту информацию). Вы можете прочитать больше о том, как это сделать здесь . Следует также упомянуть, что такие сервисы, как transloadit , теперь упрощают подобные вещи, используя вставки jquery в формы HTML. Тем не менее, метод, который я опишу ниже, все еще работает и, вероятно, дает вам максимальный контроль.
Вы не можете напрямую загружать файлы в Rackspace Files, не пытаясь что-то вроде встраивания своих учетных данных Rackspace в форму. Даже если бы это было возможно, это не было бы хорошей идеей. (то есть пользователь может добавить массивный контент, используя ваши учетные данные, которые не имеют ничего общего с вашим приложением). Таким образом, чтобы получить то, что вы хотите, то есть, по сути, файл, хранящийся в Rackspace, и местоположение файла, хранящегося на вашем сервере, вам нужно изменить рабочий процесс. Это должно быть:
- Форма загрузки файла на ваш сервер-
- - ваш сервер - вычислил контейнер и имя файла, которые файл будет использовать
- - ваш сервер - загружает временный файл в файлы стойки
Если вы хотите, чтобы файл был общедоступным для загрузки ...
- - ваш сервер - разрешает передачу файла через CDN, создавая общедоступный URL-адрес для файла, к которому ваш пользователь может получить доступ.
- когда ваш сервер создает html, он встраивает URL-адреса CDN, и пользователь волшебным образом получает файлы
Если вы хотите, чтобы файл был доступен для скачивания только определенным пользователям ....
- - ваш сервер - аутентифицируется с помощью стойки и временно загружает файл
- - ваш сервер - обслуживает файл И HTML с вашего сервера
Вы не платите за пропускную способность между файлами -your server- и rackspace, если -your server- также является экземпляром Rackspace Cloud или обычным Rackspace Managed Server (или, по крайней мере, так сказала служба поддержки клиентов). Важный факт при расчете ставок между Amazon и Rackspace.
Таким образом, вы можете использовать Rackspace Files в качестве массивного жесткого диска для вашего сервера, который дает вам контроль над доступом, или вы можете использовать его в качестве массовой общедоступной распределительной сети ...
Но в обоих случаях вам может потребоваться изменить порядок ваших шагов, чтобы дать вам то, что вы хотите ...
Вы также можете посмотреть на простой пример использования php для загрузки файла, собранного из формы HTML, в файлы стойки .