From c887a9dc4c3c6cbed65117d0a98620abc3f52e83 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Mon, 10 Oct 2016 17:44:57 +0800 Subject: [PATCH] --- src/org/redkale/net/http/RestHttpServlet.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/org/redkale/net/http/RestHttpServlet.java b/src/org/redkale/net/http/RestHttpServlet.java index 102ded556..446e98c64 100644 --- a/src/org/redkale/net/http/RestHttpServlet.java +++ b/src/org/redkale/net/http/RestHttpServlet.java @@ -5,7 +5,7 @@ */ package org.redkale.net.http; -import java.io.IOException; +import java.io.*; import org.redkale.util.Attribute; /** @@ -20,11 +20,18 @@ public abstract class RestHttpServlet extends HttpBaseServlet { protected abstract T currentUser(HttpRequest req) throws IOException; protected void finishJson(final HttpResponse response, RestOutput output) throws IOException { - if (output != null) { - response.addHeader(output.getHeaders()); - response.addCookie(output.getCookies()); + if (output == null) { + response.finishJson(output); + return; + } + response.addHeader(output.getHeaders()); + response.addCookie(output.getCookies()); + + if (output.getResult() instanceof File) { + response.finish((File) output.getResult()); + } else { + response.finishJson(output.getResult()); } - response.finishJson(output == null ? null : output.getResult()); } protected void finishJsResult(final HttpResponse response, final String var, RestOutput output) throws IOException {