۱۳۹۷ اسفند ۷, سه‌شنبه

ایجاد فایل برای دانلود در Spring

یکی از نیازمندی هام این بود که یک متنی رو در قالب فایل برای دانلود، به کاربر ارایه بدم، بعنوان مثال فرض کنیم یه سریال نامبر داریم که کاربر میتونه به صورت فایل متنی دانلود اش کنه. بعد از کلی گشت و گذار به این راه حل رسیدم که کار میکنه:

@GetMapping(path = "/file/get", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public ResponseEntity verificationFile() {
 HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.TEXT_PLAIN);
    headers.setContentDispositionFormData("attachment", "test.txt");
 InputStreamResource inputStreamResource = new InputStreamResource(new ByteArrayInputStream("Hello File".getBytes(StandardCharsets.UTF_8)));
 return ResponseEntity.ok().headers(headers).body(inputStreamResource);
}

بعد از فراخوانی آدرس http://{SERVER-ADDRESS}:{PORT}/file/get فایلی با عنوان test.txt و با محتوای Hello File دانلود میشه.

هیچ نظری موجود نیست:

ارسال یک نظر