C#,webservice,http下载word,AsposeWords合并word
/// <summary>
/// 下载并获取合并WORD文件
/// </summary>
/// <returns></returns>
[WebMethod]
public String GetMergeWordByUrl(String strWordUrls)
{
//获取Word路径及名字
String strDirectory = ConfigurationManager.AppSettings["MergeFilePath"].ToString();
String strfileName = Guid.NewGuid().ToString("N");
String strSavePath = strDirectory + strfileName + ".doc";
String result = "";
byte[] byteResult = null;
try
{
Document doc = new Document();
doc.RemoveAllChildren();
String[] strsUrls = strWordUrls.Split(',');
for (int i = 0; i < strsUrls.Length; i++)
{
String strSavePathTemp = strDirectory + strfileName + "Temp" + (i + 1) + ".doc";
//发送请求并获取相应回应数据
HttpWebRequest request = WebRequest.Create(strsUrls[i]) as HttpWebRequest;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Stream responseStream = response.GetResponseStream();
FileStream fStream = new FileStream(strSavePathTemp, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
byte[] bArr = new byte[1024];
int size = responseStream.Read(bArr, 0, (int)bArr.Length);
while (size > 0)
{
fStream.Write(bArr, 0, size);
size = responseStream.Read(bArr, 0, (int)bArr.Length);
}
fStream.Close();
byte[] btTemp = File.ReadAllBytes(strSavePathTemp);
MemoryStream msTemp = new MemoryStream(btTemp);
//合并Word
Document srcDoc = new Document(msTemp);
doc.AppendDocument(srcDoc, ImportFormatMode.KeepSourceFormatting);
responseStream.Close();
//删除临时文件
File.Delete(strSavePathTemp);
}
//保存合并Word
doc.Save(strSavePath);
//获取合并Word
byteResult = File.ReadAllBytes(strSavePath);
if (byteResult != null && byteResult.Length > 0)
{
result = Convert.ToBase64String(byteResult);
}
//删除合并Word
//File.Delete(strSavePath);
}
catch (Exception e)
{
}
return result;
}