我需要读取从Ios应用程序发送到Azure Web API的文件。Web API:读取从应用程序发送的图像
我需要上传到blob并保持Uri。
任何人都可以建议我接受文件发送的代码。
/// <summary>
///This is to upload the image file for the user profile.
/// </summary>
///<param name="userRegId"> </param>
///<returns></returns>
[HttpPost]
public Response ImageUpload(int userRegId)
{
try
{
var response = new Response();
if (!Request.Content.IsMimeMultipartContent())
{
response.status = CommonHandler.GetInvalidStatus();
}
else
{
//here i want to read the file and upload it to blob.
string fileName =Request.Files[0].FileName;//unable to do this. Here i want to know ho to read the file
string uniqueBlobName = string.Format("{0}/{1}", constants.pdf, fileName);
CloudBlobClient blobStorage = cloudClasses.CreateOrGetReferenceOfBlobStorage(constants.pdf);
CloudBlockBlob blob = cloudClasses.ClouBblockBlobPropertySetting(blobStorage, uniqueBlobName, ".pdf");
blob.UploadFromStream(Request.Files[0].InputStream);//unable to do this. Here i want to know ho to read the file
response.status = CommonHandler.GetSuccessStatus();
}
return response;
}
catch (Exception ex)
{
_logger.LogError(Log4NetLogger.Category.Exception, "Error in : APIController.ImageUpload :>> Exception message: " + ex.Message);
return new Response { status = CommonHandler.GetFailedStatus(ex.Message) };
}
}
不能我们只需从流中读取该文件作为我们如何在正常的ashx服务处理程序中执行。我只需要代码来读取文件..上传到云blob不是一个问题。 –
您需要使用[MultipartStreamProvider](http://msdn.microsoft.com/en-us/library/system.net.http.multipartstreamprovider(v = vs.108).aspx)。一些例子[这里](http://stackoverflow.com/questions/14475248/multipartmemorystreamprovider-filename)和[这里](http://forums.asp.net/t/1842441.aspx)。 –
是的,我已经完成了你所说的和张贴的代码... –