我这里有一个简单的SAS存储过程,基本上上传excel文件到服务器。但是,在第一次尝试中单击OK按钮时,页面将重定向到SAS存储流程Web应用程序站点。当我试图刷新SAS并再次上传相同的文件并单击OK按钮时,代码正在正常工作,并在同一页中返回。
如果遗漏了什么或者在表单语句中添加了正确的值,我对HTML代码就不太熟悉了。
谢谢你的帮助:)
data _null_;
file _webout;
put '<form action="/SASStoredProcess/do?_program=/CMS Portal/STP/upload_excel_common"
method="post" enctype="multipart/form-data">
<input type="hidden" name="_program" value="/Path/StoredProcessName/">
<input type="hidden" name="SERVER_PATH" value="/sasdata/cmsuser/">
<table border="0" cellpadding="2">
<tr>
<th align="right">Choose a file to upload:</th>
<td><input type="file" name="myfile" size="100"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="OK"></td>
</tr>
<tr><td colspan="2" align="left"></td></tr>
</table>
</form>';
run;发布于 2022-03-05 14:06:11
使用数据步骤put语句编写HTML是一种反模式!
编写调用SAS的Javascript要好得多。我们已经构建了一个开源项目,您可以使用该项目将文件加载到SAS服务器(无论是Viya、SAS9还是Foundation )-请参阅:https://github.com/sasjs/fileuploader
另一个选项(同样来自我们的团队)是SAS数据控制器 --它允许您上传任何版本的Excel,数据将在登陆目标数据库表之前经过审批过程。
要解决您的问题,可能是由于会话超时。您的代码没有任何登录处理。
https://stackoverflow.com/questions/71354022
复制相似问题