Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
ServiceStack 4 Cookbook

You're reading from   ServiceStack 4 Cookbook Over 70 recipes to create web services, build message-based apps, and work with object-relational mapping

Arrow left icon
Product type Paperback
Published in Jan 2015
Publisher
ISBN-13 9781783986569
Length 444 pages
Edition 1st Edition
Arrow right icon
Toc

Table of Contents (13) Chapters Close

Preface 1. Configuration and Routing FREE CHAPTER 2. Services and Data Transfer Objects 3. Testing and Logging 4. Object Relational Mapping (OrmLite) 5. HTML and Form Data 6. Filters and Validators 7. Security and Authentication 8. Working with Redis 9. Integrating with Other Technologies A. Getting Started B. Testing Locally Index

Handling file uploads and streaming data from services


A common requirement for web applications is to enable users to upload files to a server. In this recipe, we will build a service to handle file uploads and give an example of it working with both a web client and a .NET client.

Getting ready

If you are starting with a new project, please go to section Creating a ServiceStack solution with Visual Studio and NuGet, Appendix A, Getting Started, to help you get set up.

How to do it…

  1. Create the request object for the file upload service, as follows:

    [Route("/fileupload/simple")]
    public class SimpleFileUploadRequest
    {
      public string FileName { get; set; }
      public string UploadedByUserName { get; set; }
    } 
  2. Create the service to handle the file upload, as follows:

    public object Post(SimpleFileUploadRequest request)
    {
      if (Request.Files.Length == 0)
      {
        throw new HttpError(HttpStatusCode.BadRequest, "NoFile");
      }
      string resultFile = @"../../" + Request.Files[0].FileName;
      Request.Files[0...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image