Wczytywanie/zapisywanie plików

Ładowanie plików tekstowych do systemu

GET  /nlprest2/base/upload/{Tekst}
POST /nlprest2/base/upload
Możliwe rozwiązania w zależności od kodowania użytego w zapytaniu POST
  • domyślny
    • tekst przesyłany w zapytaniu
  • binary/octet-stream
    • plik przesłany w zapytaniu
  • FORM_URL_ENCODING
    • nazwa zmiennej “file”
      Zwraca: ID pliku (do wykorzystania podczas przetwarzania)

Przykład:
http://ws.clarin-pl.eu/nlprest2/base/upload/Ala%20ma%20kota

Ładowanie plików binarnych do systemu

POST /nlprest2/base/upload
Content-Type: 'binary/octet-stream'

Zwraca: ID pliku (do wykorzystania podczas przetwarzania)

Przykład w pythonie:

with open ("test.doc", "rb") as myfile:
            doc=myfile.read()
    r = urllib2.Request(url+'/upload/',doc,{'Content-Type': 'binary/octet-stream'})

Przykład w Javie:

String id=ClientBuilder.newClient().target(nlprestURL+"upload").request().
                 post(Entity.entity(new File(fileName), MediaType.APPLICATION_OCTET_STREAM)).
                 readEntity(String.class);

Odczytanie wyniku

GET /nlprest2/base/download/{IDpliku}

Zwraca plik w formacie binarnym.

Przykład w pythonie:


urllib2.urlopen(urllib2.Request('http://ws.clarin.pl.eu/nlprest2/base/download/'+fileid)).read();    

Przykład w Javie:

 URL url = new URL(nlprestURL+"downloadbin/"+id);
  HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  conn.setDoOutput(true); conn.setRequestMethod("GET");
  if (conn.getResponseCode() == 200) {
            InputStream is = conn.getInputStream();
            Files.copy(is, Paths.get(fileName),StandardCopyOption.REPLACE_EXISTING);
  }