Я пытаюсь удалить объект из ведра. Чтение документации звучит очень просто, но я просто не могу заставить это работать. На стороне сервера у меня в ASP.NET следующее:
[HttpDelete]
[Route("api/forge/oss/objects/delete")]
public async Task<dynamic> DeleteObject_fromBucket()
{
// basic input validation
HttpRequest req = HttpContext.Current.Request;
if (string.IsNullOrWhiteSpace(req.Params["bucketKey"]))
throw new System.Exception("BucketKey parameter was not provided.");
if (string.IsNullOrWhiteSpace(req.Params["objectName"]))
throw new System.Exception("ObjectName parameter was not provided.");
string bucketKey = req.Params["bucketKey"];
string objectName = req.Params["objectName"];
// call API to delete object on the bucket
dynamic oauth = await OAuthController.GetInternalAsync();
ObjectsApi objects = new ObjectsApi();
string access_token = oauth.access_token; ;
objects.Configuration.AccessToken = access_token;
// delete the file/object
await objects.DeleteObjectAsync(bucketKey, objectName);
return 0;
}
На стороне клиента:
function deleteObject(node) {
result = window.confirm('Wollen Sie dieses Modell löschen');
if (result == false) { return; }
else {
var bucketKey = node.parents[0];
var objectName = node.text;
var formData = new FormData();
formData.append('bucketKey', bucketKey);
formData.append('objectName', objectName);
$.ajax({
url: 'api/forge/oss/objects/delete',
data: formData,
contentType: false,
processData: false,
type: 'DELETE', // man könnte auch method: schreiben
success: function (data) {
$('#appBuckets').jstree(true).refresh_node(node);
}
});
}
}
Я всегда получаю исключение, что он не может вызвать API. BucketKey и objectName являются строками. Может ли кто-нибудь помочь мне понять, где я ошибаюсь?
Большое спасибо.