小编Cad*_*dyn的帖子

使用 Clack/ningle 将图像嵌入到 Web 服务器中

我正在 Common Lisp 中开发一个小型 Web 服务器,但在包含像 png 这样的二进制数据时遇到了麻烦。为了读取 png 等静态文件,我创建了一个宏,它将根据用户指定的文件类型添加新的 Ningle 路由。这包括一个读取器函数参数,它将从文件名创建数据。它适用于基于文本的文件,如 css、html、js(text/css、text/html、text/js 等)。

\n

如何让 Ningle 读取二进制数据作为内容?

\n

这是我的代码

\n
(defun read-file (&key (filename "index.html"))\n  (let\n      ((in (open filename :if-does-not-exist nil))\n       (out ""))\n    (when in\n      (loop for line = (read-line in nil)\n            while line do\n              (progn\n                (setf out (concatenate 'string out (format nil "~a~%" line)))))\n      (close in)\n      out)))\n\n(defun make-adjustable-string (s)\n               (make-array (length s)\n                           :fill-pointer (length s)\n                           :adjustable t\n                           :initial-contents s\n                           :element-type (array-element-type s)))\n\n(defun read-binary (&key (filename "img/free.png"))\n  (let\n      ((in …
Run Code Online (Sandbox Code Playgroud)

webserver http common-lisp binary-data

2
推荐指数
1
解决办法
214
查看次数

标签 统计

binary-data ×1

common-lisp ×1

http ×1

webserver ×1