Zastanawiam się, jak mogę usunąć plik z Cloudfiles Rackspace za pomocą ich API?Jak usunąć plik z Cloudfiles Rackspace za pomocą api?
Im używając php.
Devan
Zastanawiam się, jak mogę usunąć plik z Cloudfiles Rackspace za pomocą ich API?Jak usunąć plik z Cloudfiles Rackspace za pomocą api?
Im używając php.
Devan
zastosować metodę CF_Container delete_object.
Oto mój kod w języku C#. Po prostu zgadywanie api jest podobne do php.
UserCredentials userCredientials = new UserCredentials("xxxxxx", "99999999999999");
cloudConnection = new Connection(userCredientials);
cloudConnection.DeleteStorageItem(ContainerName, fileName);
Upewnij się, że ustawisz kontener i zdefiniujesz dowolny folder sudo, którego używasz.
$my_container = $this->conn->get_container($cf_container);
//delete file
$my_container->delete_object($cf_folder.$file_name);
Myślałam, że będę pisać tutaj, ponieważ nie jest odpowiedzią oznaczone jako poprawny, chociaż chciałbym przyjąć Matthew FLASCHEN odpowiedź za poprawny. Byłby to cały kod trzeba usunąć plik
<?php
require '/path/to/php-cloudfiles/cloudfiles.php';
$username = 'my_username';
$api_key = 'my_api_key';
$full_object_name = 'this/is/the/full/file/name/in/the/container.png';
$auth = new CF_Authentication($username, $api_key);
$auth->ssl_use_cabundle();
$auth->authenticate();
if ($auth->authenticated())
{
$this->connection = new CF_Connection($auth);
// Get the container we want to use
$container = $this->connection->get_container($name);
$object = $container->delete_object($full_object_name);
echo 'object deleted';
}
else
{
throw new AuthenticationException("Authentication failed") ;
}
Notatka, że „$ full_object_name” obejmuje „ścieżka” do pliku w pojemniku i nazwę pliku bez początkowego „/”. Dzieje się tak dlatego, że kontenery używają pseudo-hierarchicznych folderów/katalogów, a to, czym końcem jest nazwa pliku w kontenerze, jest ścieżka + nazwa pliku. aby uzyskać więcej informacji zobacz http://docs.rackspace.com/files/api/v1/cf-devguide/content/Pseudo-Hierarchical_Folders_Directories-d1e1580.html
pomocą metody zwanej DeleteObject z klasy CF_Container.
Metoda DeleteObject of CF_Container wymaga tylko jednego ciągu znaków nazwa_ obiektu. Te argumenty powinny być nazwą pliku do usunięcia.
zobacz przykład C# kod poniżej:
string username = "your-username";
string apiKey = "your-api-key";
CF_Client client = new CF_Client();
UserCredentials creds = new UserCredentials(username, apiKey);
Connection conn = new CF_Connection(creds, client);
conn.Authenticate();
var containerObj = new CF_Container(conn, client, container);
string file = "filename-to-delete";
containerObj.DeleteObject(file);
Uwaga Do not użyć DeleteObject z klasy * CF_Client *