diff --git a/.gitignore b/.gitignore index 7aad40b06b42dec569ac786bbd32ac9f4ed792cd..d76da952f6a7fc44d23ea0a1574cc720032931fd 100644 --- a/.gitignore +++ b/.gitignore @@ -162,3 +162,4 @@ typings/ #pom.xml.versionsBackup *.versionsBackup +/nbproject/private/ diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ResponseFactory.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ResponseFactory.java index cf044f6675840c59100ff87a4902cfc194af094c..73bdf439a565fb072f1fdd56e2da6093239d2451 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ResponseFactory.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ResponseFactory.java @@ -9,23 +9,23 @@ import javax.ws.rs.core.CacheControl; import javax.ws.rs.core.EntityTag; import javax.ws.rs.core.Response; -import org.apache.commons.lang3.StringUtils; -import org.eclipse.jetty.http.HttpHeader; - import com.x.base.core.project.exception.CallbackPromptException; import com.x.base.core.project.gson.XGsonBuilder; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.HttpMediaType; import com.x.base.core.project.tools.DefaultCharset; +import org.apache.commons.lang3.StringUtils; +import org.eclipse.jetty.http.HttpHeader; + public class ResponseFactory { private static CacheControl defaultCacheControl = CacheControlFactory.getDefault(); public static final String Content_Disposition = "Content-Disposition"; - // public static final String Content_Length = "Content-Length"; public static final String Accept_Ranges = "Accept-Ranges"; public static final String Content_Type = "Content-Type"; + public static final String Content_Length = "Content-Length"; public static Response getDefaultActionResultResponse(ActionResult result) { if (result.getType().equals(ActionResult.Type.error)) { @@ -38,7 +38,8 @@ public class ResponseFactory { if ((null != result.getData()) && (result.getData() instanceof WoFile)) { WoFile wo = (WoFile) result.getData(); return Response.ok(wo.getBytes()).header(Content_Disposition, wo.getContentDisposition()) - .header(Content_Type, wo.getContentType()).header(Accept_Ranges, "bytes").build(); + .header(Content_Type, wo.getContentType()).header(Content_Length, wo.getBytes().length) + .header(Accept_Ranges, "bytes").build(); } else if ((null != result.getData()) && (result.getData() instanceof WoText)) { WoText wo = (WoText) result.getData(); return Response.ok(wo.getText()).cacheControl(defaultCacheControl).type(HttpMediaType.TEXT_PLAIN_UTF_8) @@ -86,7 +87,8 @@ public class ResponseFactory { return Response.notModified().tag(tag).build(); } return Response.ok(wo.getBytes()).header(Content_Disposition, wo.getContentDisposition()) - .header(Content_Type, wo.getContentType()).header(Accept_Ranges, "bytes").tag(tag).build(); + .header(Content_Type, wo.getContentType()).header(Content_Length, wo.getBytes().length) + .header(Accept_Ranges, "bytes").tag(tag).build(); } else if ((null != result.getData()) && (result.getData() instanceof WoText)) { /* 纯文本text */ WoText wo = (WoText) result.getData();