laurilehmijoki / s3_website

Manage an S3 website: sync, deliver via CloudFront, benefit from advanced S3 website features.
Other
2.24k stars 187 forks source link

Upload fail with accent characters #324

Closed J1mmyC01 closed 5 years ago

J1mmyC01 commented 5 years ago

Hi, Been really pleased impressed with s3_website. However I'm having a problem on files with accent character, e.g. ä

Whenever I run the push command I get the following errors:

[wait] Failed to upload fileWithAccent??.htm (/opt/atlassian/pipelines/agent/build/./fileWithAccent??.htm (No such file or directory)). Trying again in 2 seconds.

[fail] Failed to upload fileWithAccent??.htm (/opt/atlassian/pipelines/agent/build/./fileWithAccent??.htm (No such file or directory))

I'm using the ignicaodigital/s3_website docker image.

Any ideas would be really appreciated.

Thanks

J1mmyC01 commented 5 years ago

Ran a verbose push and get the following stack trace:

[fail] Failed to upload fileWithAccent??.htm (/opt/atlassian/pipelines/agent/build/./fileWithAccent??.htm (No such file or directory) java.io.FileInputStream.open(Native Method) java.io.FileInputStream.(FileInputStream.java:146) java.io.FileInputStream.(FileInputStream.java:101) sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90) sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188) org.apache.tika.io.TikaInputStream.get(TikaInputStream.java:395) org.apache.tika.Tika.detect(Tika.java:265) org.apache.tika.Tika.detect(Tika.java:248) s3.website.model.Upload$$anonfun$contentType$1$$anonfun$6.apply(push.scala:75) s3.website.model.Upload$$anonfun$contentType$1$$anonfun$6.apply(push.scala:75) scala.Option.getOrElse(Option.scala:121) s3.website.model.Upload$$anonfun$contentType$1.apply(push.scala:75) s3.website.model.Upload$$anonfun$contentType$1.apply(push.scala:60) scala.util.Success$$anonfun$map$1.apply(Try.scala:237) scala.util.Try$.apply(Try.scala:192) scala.util.Success.map(Try.scala:237) s3.website.model.Upload.contentType$lzycompute(push.scala:60) s3.website.model.Upload.contentType(push.scala:60) s3.website.S3$$anonfun$toPutObjectRequest$1$$anonfun$apply$3.apply(S3.scala:69) s3.website.S3$$anonfun$toPutObjectRequest$1$$anonfun$apply$3.apply(S3.scala:68) scala.util.Success.flatMap(Try.scala:231) s3.website.S3$$anonfun$toPutObjectRequest$1.apply(S3.scala:68) s3.website.S3$$anonfun$toPutObjectRequest$1.apply(S3.scala:66) scala.util.Either.fold(Either.scala:98) s3.website.S3$.toPutObjectRequest(S3.scala:65) s3.website.S3$$anonfun$uploadToS3$1.apply(S3.scala:32) s3.website.S3$$anonfun$uploadToS3$1.apply(S3.scala:31) scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745))