Hey everyone,
I have a problem regarding file transfer via SAS Portal between plattforms. It´s a quite simple Task:
The user presses a button on my SAS Portal page which calls a Stored Process. That STP creates 1-n files in a loop and puts them in an archive.
ODS PACKAGE(LISTZIP) open nopf;
//for every id provided, create an xml file and add it to the package
ODS PACKAGE(LISTZIP) add file="&filepath._&i." mimetype="text/xml" TEXT;
ODS PACKAGE(LISTZIP) publish archive properties (archive_name="&l_archiv." archive_path="&l_work.");
ODS PACKAGE(LISTZIP) close;
After file creation, I have tried either data set to _webout or proc stream to return the zip-file to the user
%LET RV = %SYSFUNC(appsrv_header(Content-disposition,%STR(attachment; filename=&fname.))); %LET RV = %SYSFUNC(appsrv_header(Content-Type,application/octet-stream)); filename out "&outfile.";
proc stream outfile=_webout;
begin
&streamdelim. readfile outfile;
;;;;
run;
/* or data step */
data _NULL_;
file _WEBOUT;
infile "&outfile.";
input;
put _INFILE_;
run;
I download the archive on a windows client and open it, but it only shows one out of three files and if I try to open that file I get a CRC-error, file corrupted. Weirdly enough, this only happens if the files inside the archive are larger than a certain size.
Further can I access the produced archive on the Unix filesystem, transfer it to my machine wie ftp client and open it and its contents without any problems at all.
When hex-comparing the downloaded version with the ftp´d one, I can see there are a few '0A's in the downloaded version that are not in the ftp´d one and a few '0D's in the ftp´d version that are not in the downloaded one.
Having all these hints leads me to believe I have some issue regarding linebreak-formatting in transfer (0D Carriage-Return, 0A Line-Feed (Unix), 0D0A (Windows)). But I am not sure how to adress this issue. The files are generated and archived on the Unix-Server, how do I stream the archive to a client in SAS Portal to be accessible? I´m working with SAS 9.4
Kind regards,
Mat
PS: As a workaround I´m sending the archive via Mail and it works without a problem. Strengthens my focus on the issue beeing transfer to the client via browser.
... View more