Служба загрузки файлов Java WS

В настоящее время я работаю над проектом Java Web Service. Он развернут на сервере Apache Tomcat 7, и мне нужно предоставить сервис для загрузки файлов на сервер. Кроме того, веб-сервис должен быть доступен для систем, которые могут не использовать Java. Таким образом, мне нужно сделать мой веб-сервис универсально доступным для всех клиентов (например, C#, php и т. Д.). После просмотра веб-страниц я нашел много решений, но ни одно из них не объясняет, как мне выполнить вышеупомянутые критерии. Чтобы быть более конкретным, я натолкнулся на аннотации MTOM и Java WS, ссылки на которые необходимы для определения общепринятых структур данных, таких как Java DataHandler. Позвольте мне опубликовать пример кода моего веб-сервиса:

public class DataFileServer extends AbstractFileServer {

    private int _buffer_size;

    public DataFileServer() {
        _buffer_size = 100000;
    }

    public DataFileServer(int bufferSize) {
        _buffer_size = bufferSize;
    }

    @Override
    public void uploadFile(String AbsoluteFilePath, FileObject FileInfo) {
        DataHandler _handler = FileInfo.getHandler();
        try {
            InputStream is = _handler.getInputStream();
            OutputStream os = new FileOutputStream(new File(AbsoluteFilePath + 
                "/" + FileInfo.getName() + "." + 
                FileInfo.getType()));
            byte[] b = new byte[_buffer_size];
            int bytesRead = 0;
            while((bytesRead = is.read()) != -1) {
                os.write(b, 0, bytesRead);
            }
        }catch(IOException e) {
            e.printStackTrace();
        }
    }
}

DataFileServer - это класс, который будет выполнять операцию загрузки, а интерфейс веб-службы будет следующим:

@WebService()
public class ETL_WS {

    private DataHandler _handler;
    private String server_dir = "/home/user/Desktop/FileServer";

    public int fileUpload(String FileName, DataHandler CsvFile) {
        FileObject _file = new FileObject(FileName, CsvFile);
        _handler.uploadFile(this.server_dir, _file);

        return 0;
    }
}

Мой вопрос заключается в том, как я могу убедиться, что объект DataHandler, предоставленный моему веб-сервису, будет иметь правильный тип. Кроме того, могу ли я каким-либо образом улучшить безопасность и производительность операции загрузки файлов?

Спасибо

0 ответов

Другие вопросы по тегам