CS程序中主要是用了 AxWebBrowser
在上一个页面选择了要下载的内容 弹出了 这个网页
然后 当我在CS程序中点了确定按钮后 出现了 对话框
如图:
问题1:
我想在CS程序里去控制点击 保存按钮
当点击了保存按钮后出现了 另存为的对话框
问题2:
因为每次下载 另存为的文件名 是一样的
所以想在CS程序中去改变这个另存为对话框的文件名 做到不重复
好几天了 也没人能解决 只是听说好像要用API
从来没用过 如果是要用API希望能给个 例子
或详细点 带中文注释的代码
谢谢了
网站弹出的对话框肯定是往显示或者非显示标签中输入值然后向服务器端上传或请求的,可以直接操作DOM实现。
而对于操作网页不建议使用CS应用程序,使用脚本更好一些。
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("你的初始文件名", Encoding.UTF8).ToString());
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.End();
用这个试试,这只是个大概,你先放到按钮事件中看看是不是你要的。
if (strFilePath.Length > 0) //这是文件路径
{
int l = strFilePath.LastIndexOf('\\') + 1;
fileName = strFilePath.Substring(l, strFilePath.Length - l); //文件名
FileStream fs = new FileStream(strFilePath, FileMode.Open); //读进流文件
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); //这里可以实现你的文件名,要什么自己把fileName改了
Response.BinaryWrite(bytes); //向客户端输出
Response.Flush();
Response.End();
}