Arduino Ethernet Shieldサーバにアップロードしたファイルの内容を表示

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);
EthernetServer server(80);

void setup() {
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}


void loop() {
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        if (c == '\n') {
          currentLineIsBlank = true;
        } 
        else if (c != '\r') {
          currentLineIsBlank = false;
        }
      }
    }
    delay(1);
    client.stop();
    Serial.println("client disonnected");
  }
}

curlでファイルアップロード(ヘッダ内格納:POSTリクエスト)

$ curl -F FILE=@kono.rml http://192.168.1.177

出力結果

server is at 192.168.1.177
new client
POST / HTTP/1.1
User-Agent: curl/7.30.0
Host: 192.168.1.177
Accept: */*
Content-Length: 34481
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------9b35347ea550

------------------------------9b35347ea550
Content-Disposition: form-data; name="FILE"; filename="kono.rml"
Content-Type: application/octet-stream

PA;PA;VS2.0;!VZ2.0!PZ-4,40;!MC1;
PU394,312;PD394,312;PD426,312;PD428,313;PD428,314;PD428,355;PD427,356;
(以下略)
MC0;
H;

------------------------------9b35347ea550--