#php #asp.net-mvc #api
#php #asp.net-mvc #API
Вопрос:
Я создаю serive api с помощью asp.net и methoad POST загружает любой файл, и я хочу, используя код php, вызвать этот api, но я не знаю, как это сделать.
Код asp.net api загружает файл следующим образом:
public Task<IEnumerable<string>> Post()
{
if (Request.Content.IsMimeMultipartContent())
{
string fullPath = HttpContext.Current.Server.MapPath("~/uploads");
MyMultipartFormDataStreamProvider streamProvider = new MyMultipartFormDataStreamProvider(fullPath);
var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith(t =>
{
if (t.IsFaulted || t.IsCanceled)
throw new HttpResponseException(HttpStatusCode.InternalServerError);
var fileInfo = streamProvider.FileData.Select(i =>
{
var info = new FileInfo(i.LocalFileName);
return "File uploaded as " info.FullName " (" info.Length ")";
});
return fileInfo;
});
return task;
}
else
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Invalid Request!"));
}
}
И класс:
public class MyMultipartFormDataStreamProvider : MultipartFormDataStreamProvider
{
public MyMultipartFormDataStreamProvider(string path)
: base(path)
{
}
public override string GetLocalFileName(System.Net.Http.Headers.HttpContentHeaders headers)
{
string fileName;
if (!string.IsNullOrWhiteSpace(headers.ContentDisposition.FileName))
{
fileName = headers.ContentDisposition.FileName;
}
else
{
fileName = Guid.NewGuid().ToString() ".data";
}
return fileName.Replace(""", string.Empty);
}
}
Итак, как я могу вызвать этот API, используя код php?
Я ссылался на код, чтобы: http://www.codeguru.com/csharp/.net/uploading-files-asynchronously-using-asp.net-web-api.htm
Ответ №1:
Для меня это выглядит так, как будто у вас есть веб-сайт на php, и вы искали в Интернете пример загрузки и нашли asp.net один.
Если у вас запущен php, почему бы не использовать php для загрузки?