public static bool CreateOrUpdateImageInfo(string SPID, string ChannelID, string ResourceID, ContentManage.DataAccess.OperService.ResourceInfoEntity rie, out string err)
{
if (!SavePhotoFromUrl(rie.ImgUrl, out err))
{
return false;
}
if (!ContentManage.DataAccess.WSManage.CreateOrUpdateImageInfo(SPID, ChannelID, ResourceID, rie, out err))
{
return false;
}
return true;
}
/// <summary>
/// 從圖片地址下載圖片到本地磁盤
/// </summary>
/// <param name="ToLocalPath">圖片本地磁盤地址</param>
/// <param name="Url">圖片網(wǎng)址</param>
/// <returns></returns>
public static bool SavePhotoFromUrl(string Url,out string error)
{
bool Value = false;
WebResponse response = null;
Stream stream = null;
string FileName = string.Empty;
error = string.Empty;
try
{
int nPos = Url.LastIndexOf('/');
FileName = Url.Substring(nPos + 1);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
response = request.GetResponse();
stream = response.GetResponseStream();
if (!response.ContentType.ToLower().StartsWith("text/"))
{
Value = SaveBinaryFile(response, FileName);
}
}
catch (Exception err)
{
error = err.ToString();
}
return Value;
}
/// <summary>
/// Save a binary file to disk.
/// </summary>
/// <param name="response">The response used to save the file</param>
// 將二進(jìn)制文件保存到磁盤
public static bool SaveBinaryFile(WebResponse response, string FileName)
{
bool Value = true;
byte[] buffer = new byte[1024];
try
{
if (File.Exists(FileName))
File.Delete(FileName);
Stream outStream = System.IO.File.Create(FileName);
Stream inStream = response.GetResponseStream();
int l;
do
{
l = inStream.Read(buffer, 0, buffer.Length);
if (l > 0)
outStream.Write(buffer, 0, l);
}
while (l > 0);
outStream.Close();
inStream.Close();
}
catch
{
Value = false;
}
return Value;
}