2014-06-11 2 views
3

PharoCloud를 사용하여 Pharo 이미지를 호스팅하고 있습니다. 기본적으로 이미지의 ZIP은 내 기기에만 다운로드됩니다. 이 ZIP에는 .sources 파일이 포함되지 않습니다.소스 파일을 이미지 디렉토리로 다운로드

ZnClient를 사용하여 소스 파일을 수동으로 다운로드하려고합니다. 내 이미지가있는 디렉토리는 /mnt/upload/upload.140605183221입니다.

내가 ZnClient에 새로운 브랜드를 해요

| 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. 

내가 가지고있는 코드입니다; 나는 그것을 어떻게 사용하는지 모른다. 내 코드에 무슨 문제가 있습니까?

답변

2

이 작업을 수행 할 수 있습니다 정보를

'./PharoV30.sources' asFileReference 
    writeStreamDo: [ :stream | 
     stream write: (ZnClient new get: 'http://files.pharo.org/sources/PharoV30.sources') contents ]. 
+0

'ZnConstants maximumEntitySize'를 변경 한 후 완벽하게 작동했습니다. 감사! –

+1

보내기 #contents는 파일에 쓸 때만 사용되는 많은 메모리 공간을 사용합니다. 대신'ZnClient >> downloadTo :'를 사용할 수 있습니다. –

2

거의 옳다. #asFileName을 으로 대체해야합니다. #asFileName이 문자열 개체에 응답하므로 (실제로 문자열에 WriteStream이 표시됨)

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) ] 
+0

감사합니다! 내 코드가 제대로 작동하지 않는 이유에 대한 설명과 설명을 얻는 것은 ZnClient의 향후 사용에 도움이된다. –