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
This commit is contained in:
Kevin Roast
2011-10-13 15:06:50 +00:00
parent 036d25811a
commit e89ec2ac6c

View File

@@ -18,6 +18,7 @@
*/ */
package org.alfresco.repo.jscript; package org.alfresco.repo.jscript;
import java.io.BufferedInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
@@ -3488,7 +3489,16 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider
} }
if (guessEncoding) 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 else
{ {
@@ -3618,10 +3628,10 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider
*/ */
public void guessEncoding() 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"; String encoding = "UTF-8";
try try
@@ -3636,7 +3646,7 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider
{ {
try try
{ {
if (in != null) if (close && in != null)
{ {
in.close(); in.close();
} }