From e89ec2ac6ced97fa530caf1963e7c907e63cacac Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Thu, 13 Oct 2011 15:06:50 +0000 Subject: [PATCH] Fix for (unreported?) issue where uploaded large files via upload.post.js does not work after recent optimizations git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31214 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/repo/jscript/ScriptNode.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/source/java/org/alfresco/repo/jscript/ScriptNode.java b/source/java/org/alfresco/repo/jscript/ScriptNode.java index 0573aa1db4..a0a590a0cc 100644 --- a/source/java/org/alfresco/repo/jscript/ScriptNode.java +++ b/source/java/org/alfresco/repo/jscript/ScriptNode.java @@ -18,6 +18,7 @@ */ package org.alfresco.repo.jscript; +import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -3488,7 +3489,16 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider } if (guessEncoding) { - writer.setEncoding(guessEncoding(content.getInputStream())); + InputStream is = new BufferedInputStream(content.getInputStream()); + is.mark(1024); + writer.setEncoding(guessEncoding(is, false)); + try + { + is.reset(); + } + catch (IOException e) + { + } } else { @@ -3618,10 +3628,10 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider */ public void guessEncoding() { - setEncoding(guessEncoding(getInputStream())); + setEncoding(guessEncoding(getInputStream(), true)); } - private String guessEncoding(InputStream in) + private String guessEncoding(InputStream in, boolean close) { String encoding = "UTF-8"; try @@ -3636,7 +3646,7 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider { try { - if (in != null) + if (close && in != null) { in.close(); }