3

我正在使用 PharoCloud 为我托管 Pharo 图像。默认情况下,它仅将图像的 ZIP 下载到我的设备;此 ZIP 不包含 .sources 文件。

我正在尝试使用 ZnClient 手动下载源文件。我的图像所在的目录是/mnt/upload/upload.140605183221.

这是我的代码

| aFileStream |
    aFileStream := '/mnt/universe/upload/upload.140605183221/PharoV30.sources' asFileName writeStream.
    aFileStream write: (ZnClient new get: 'http://files.pharo.org/sources/PharoV30.sources.zip').
    aFileStream close.

我是 ZnClient 的新手;我不知道如何使用它。我的代码有什么问题?

4

2 回答 2

2

几乎正确。您需要将消息替换为#asFileName#asFileReference因为#asFileName将回答一个字符串对象(因此您实际上WriteStream在字符串上得到了 a )。

fileReference := '/mnt/universe/upload/upload.140605183221/PharoV30.sources' asFileReference
fileReference writeStreamDo: [ :stream |
    | url|
    url := 'http://files.pharo.org/sources/PharoV30.sources.zip'.
    stream write: (ZnClient new get: url) ]
于 2014-06-12T11:29:42.750 回答
2

你可以这样做:

'./PharoV30.sources' asFileReference 
    writeStreamDo: [ :stream | 
        stream write: (ZnClient new get: 'http://files.pharo.org/sources/PharoV30.sources') contents ].
于 2014-06-12T11:50:48.177 回答