将CSS文件上传到Seaside FileLibrary时出现问题

时间:2019-12-04 09:15:32

标签: css web smalltalk pharo seaside

我是Seaside的初学者,目前正在研究带有Seaside的Dynamic Web Development书籍/教程。 我目前在第17.4章,在那里我需要将.png和.css文件上传到我创建的FileLibrary中。

我尝试通过Seaside配置页面上传它们。 .png已上传,并且工作正常。但是,当我尝试使用.css文件时,Seaside给了我:错误:不正确地存储到可索引对象中。

我尝试按照程序演示的方式以编程方式上传该文件,但起初似乎可以正常工作,但是我注意到它没有显示,并且源代码未在浏览器的标记中显示对该文件的任何引用。 当我在Pharo中调查文件时,该方法返回的结果为nil。

如果任何人都可以提供并解释为什么它不起作用,我将不胜感激。我不知道是否有帮助,但这是错误的堆栈跟踪:

Stack Trace
thisContext
ByteString(Object)>>error:
self
'...etc...
thisContext
ByteString(Object)>>errorImproperStore
self
'...etc...
thisContext
ByteString>>at:put:
self
'...etc...
thisContext
WriteStream>>nextPut:
self
a WriteStream
thisContext
[ :writeStream | | readStream | readStream := aString readStream. [ readStream atEnd ] whileFalse:...etc...
self
a GRPharoPlatform

1 个答案:

答案 0 :(得分:3)

您可能遇到了this github issue中所述的相同问题,但是在Pharo 7中,较早版本的Seaside弹出了类似的堆栈跟踪记录。因此,首先请确保您使用的是Seaside的最新稳定版本(参见load instructions for Seaside in Pharo)。不幸的是,如果您从Pharo目录中加载,则不会使用最新的稳定版本。

如果您仍然遇到相同的问题:应该将.css文件检测为文本文件,并且问题不相同。请将问题提交到issue tracker,以便我们可以重现该问题。

同时,我怀疑问题出在网络工具中,您可以通过编程方式上传文件来避免该问题:

YourLibraryClass addFileAt: 'yourfile.css'