2015-07-23 6 views
2

В моей полезной нагрузке есть поле Content-Disposition. Я пытаюсь загрузить файл bpmn. Поэтому в бэкэнд мне нужно разобрать входной поток и извлечь это имя. но я не могу найти решение этого. Я использую Jesrey для отдыха.извлечение имени файла из содержимого

Я попытался с:

@POST 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Produces(MediaType.APPLICATION_JSON) 
public Response addWorkflowSchema(@FormDataParam("bpmndata") InputStream uploadedInputStream, 
     String filename, 
     @Context HttpServletRequest request) 

получить целые данные полезной нагрузки. но только если я удалю FormDataParam i ma, получив тело запроса.

Reuqest Payload:

------WebKitFormBoundary8CCb878TyZksE9go 
Content-Disposition: form-data; name="bpmndata"; filename="process.bpmn" 
Content-Type: application/octet-stream 


------WebKitFormBoundary8CCb878TyZksE9go-- 

Мне нужно, чтобы получить имя файла из Content-Disposition. Как я могу это получить.

ответ

1

Также введите FormDataContentDisposition и получите имя файла от , что.

public Response addWorkflowSchema(
         @FormDataParam("bpmndata") InputStream in, 
         @FormDataParam("bpmndata") FormDataContentDisposition fdc) { 

    String fileName = fdc.getFileName(); 
} 

InputStream будет только содержание файла части. Он не будет включать заголовки, поэтому вам не нужно ничего извлекать из него.