【发布时间】:2017-03-01 04:09:51
【问题描述】:
我正在尝试使用以下代码对图像进行 base64 编码,然后使用第三方电子邮件服务通过电子邮件发送它。
(ns application.encode
(:import org.apache.commons.codec.binary.Base64)
(:require [clojure.java.io :as io]))
(defn encode [file-path]
(let [content (String.
(Base64/encodeBase64
(.getBytes
(slurp (clojure.java.io/resource "public/test.gif")))))]
;; email file contents
)
但是,图像已损坏,并且其大小增加了一倍。我可以通过电子邮件或spit将其发送到本地文件来验证这一点。
我做错了什么?
更新:如果有用,以下 Ruby 代码会执行我在上面尝试执行的操作并将其输出写入文件,然后 slurping 它允许我根据需要发送电子邮件。 (当然,这不是一个解决方案,但我想确保我正在尝试做的事情甚至可以使用有问题的文件。)
encoded = Base64.encode64(File.read('resources/public/test.gif'))
【问题讨论】: