コード例 #1
0
 public HttpResponseMessage Download()
 {
     try
     {
         var contacts = _genericRepository.Get().ToList();
         var bytes    = PhoneBookCsvHelper.Write(contacts);
         HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
         response.Content = new ByteArrayContent(bytes);
         response.Content.Headers.ContentDisposition          = new ContentDispositionHeaderValue("attachment");
         response.Content.Headers.ContentType                 = new MediaTypeHeaderValue("text/csv");
         response.Content.Headers.ContentDisposition.FileName = "contacts.csv";
         return(response);
     }
     catch (Exception e)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e));
     }
 }
コード例 #2
0
        public async Task <HttpResponseMessage> Upload()
        {
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }
            try
            {
                string csvContent = await GetCsvContent();

                var contacts = PhoneBookCsvHelper.Read(csvContent);
                _genericRepository.Create(contacts);
                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e));
            }
        }