반응형
URL에서 이미지를 프로그래밍 방식으로 저장하려면 어떻게합니까?
URL에서 이미지를 프로그래밍 방식으로 저장하려면 어떻게합니까? C #을 사용하고 있으며 URL에서 이미지를 가져와 로컬에 저장할 수 있어야합니다. ... 아니요, 나는 도둑질하지 않습니다 :)
다음과 같이 작성하는 것이 더 쉬울 것입니다.
WebClient webClient = new WebClient();
webClient.DownloadFile(remoteFileUrl, localFileName);
이미지 URI에 대해 HttpWebRequest 를 사용하여 기본 http 요청을 만든 다음 결과 바이트 스트림을 가져온 다음 해당 스트림을 파일에 저장 하기 만하면 됩니다.
다음은이를 수행하는 방법에 대한 예입니다.
'이미지가 매우 큰 경우에는 br.ReadBytes (500000) 를 루프로 나누고 검색 할 때 각 바이트 배치를 작성하는 한 번에 n 바이트를 잡을 수 있습니다.'
using System;
using System.IO;
using System.Net;
using System.Text;
namespace ImageDownloader
{
class Program
{
static void Main(string[] args)
{
string imageUrl = @"http://www.somedomain.com/image.jpg";
string saveLocation = @"C:\someImage.jpg";
byte[] imageBytes;
HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
WebResponse imageResponse = imageRequest.GetResponse();
Stream responseStream = imageResponse.GetResponseStream();
using (BinaryReader br = new BinaryReader(responseStream ))
{
imageBytes = br.ReadBytes(500000);
br.Close();
}
responseStream.Close();
imageResponse.Close();
FileStream fs = new FileStream(saveLocation, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
try
{
bw.Write(imageBytes);
}
finally
{
fs.Close();
bw.Close();
}
}
}
}
aspx의 예제 (C #)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.IO;
public partial class download_file_from_url : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string url = "http://4rapiddev.com/wp-includes/images/logo.jpg";
string file_name = Server.MapPath(".") + "\\logo.jpg";
save_file_from_url(file_name, url);
Response.Write("The file has been saved at: " + file_name);
}
public void save_file_from_url(string file_name, string url)
{
byte[] content;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
using (BinaryReader br = new BinaryReader(stream))
{
content = br.ReadBytes(500000);
br.Close();
}
response.Close();
FileStream fs = new FileStream(file_name, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
try
{
bw.Write(content);
}
finally
{
fs.Close();
bw.Close();
}
}
}
작성자 : HOAN HUYNH
ASP.Net C # URL에서 이미지 파일 다운로드 또는 저장
ReferenceURL : https://stackoverflow.com/questions/1110246/how-do-i-programmatically-save-an-image-from-a-url
반응형
'programing' 카테고리의 다른 글
Python의 ftplib를 사용하여 이식 가능한 디렉토리 목록 가져 오기 (0) | 2021.01.17 |
---|---|
std :: string을 const wchar_t *로 변환하고 싶습니다. (0) | 2021.01.17 |
VIM에서 CAPS LOCK 키를 매핑하는 방법은 무엇입니까? (0) | 2021.01.17 |
권한 오류로 인해 jstatd를 시작할 수 없습니다. (0) | 2021.01.17 |
Ruby는 특정 디렉토리에서 쉘 명령을 실행합니다. (0) | 2021.01.17 |