Dexi Developer Portal

App Developer Portal

Welcome to the App Developer portal for dexi.io.

Here you'll find resources for developing apps and integrations on dexi.io.

Get Started    

FileStorageAppComponent

Required to implement a file-storage component. File storage writes a file from to remote source such as a remote file system (FTP) or a SaaS application.

Source: Github

Example:

package my.org.components;

import io.dexi.service.AppContext;
import io.dexi.service.components.AppComponent;
import io.dexi.service.components.FileStorageAppComponent;
import io.dexi.service.exceptions.UserErrorException;
import org.apache.commons.io.IOUtils;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

@AppComponent("write-file-to-my-app")
public class MyAppFileStorageAppComponent implements FileStorageAppComponent<MyAppConfig, MyComponentConfig> {

    @Override
    public Class<MyComponentConfig> getComponentConfigClass() {
        return MyComponentConfig.class;
    }

    @Override
    public void write(AppContext<MyAppConfig, MyComponentConfig> ctxt, HttpServletRequest request) {
        File file = new File("some-file.txt");

        try(OutputStream out = new FileOutputStream(file)) {
            IOUtils.copyLarge(request.getInputStream(), out);
        } catch (IOException e) {
            throw new UserErrorException("Failed to read file" ,e );
        }
    }
}
components:
- name: write-file-to-my-app
  type: file-storage
  title: Write a file to my app
  specification:
    endpoint: # Will invoke MyAppFileStorageAppComponent::write
      url: "${baseUrl}/dexi/file/storage/write"
      method: POST

Updated about a year ago

FileStorageAppComponent


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.