Как загрузить фото на сервер из .net winforms? - PullRequest
0 голосов
/ 31 августа 2011

Я создал приложение формы окна в C #. Существует раздел регистрации пользователей, где заполняются данные пользователя и загружается фотография. Как загрузить фотографию общего места на сервере, а не в клиентской системе. Мне нужно загрузить изображение пользователя в определенное место на сервере, чтобы раздел приложения на веб-сайте мог показать изображение в профиле пользователя.

Ответы [ 3 ]

2 голосов
/ 31 августа 2011

Я бы фактически сохранил информацию, включая изображение, в базе данных, чтобы она была доступна из всех ваших других приложений.

, если вы просто хотите скопировать необработанный файл с клиентского компьютера в централизованное место, какНачальная точка:

private void button1_Click(object sender, EventArgs e)
{
    WebClient myWebClient = new WebClient();
    string fileName = textBox1.Text;
    string _path = Application.StartupPath;
    MessageBox.Show(_path);
    _path = _path.Replace("Debug", "Images");
    MessageBox.Show(_path);
    myWebClient.UploadFile(_path,fileName);
}

private void btnBrowse_Click(object sender, EventArgs e)
{
    OpenFileDialog ofDlg = new OpenFileDialog();
    ofDlg.Filter = "JPG|*.jpg|GIF|*.gif|PNG|*.png|BMP|*.bmp";
    if (DialogResult.OK == ofDlg.ShowDialog())
    {
        textBox1.Text = ofDlg.FileName;
        button1.Enabled = true;
    }
    else
    {
        MessageBox.Show("Go ahead, select a file!");
    }
}
1 голос
/ 31 августа 2011

Возможно, лучший способ - использовать FTP-сервер, если вы можете его установить. Чем вы можете загрузить файл, используя этот код

FileInfo toUpload = new FileInfo("FileName");
System.Net.FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://serverip/FileName");
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("UserName","Password");
Stream ftpStream = request.GetRequestStream();
FileStream file = File.OpenRead(files);
int length = 1024;
byte[] buffer = new byte[length];
int bytesRead = 0;
do
{
    bytesRead = file.Read(buffer, 0, length);
    ftpStream.Write(buffer, 0, bytesRead);
}
while (bytesRead != 0);
file.Close();
ftpStream.Close();
0 голосов
/ 07 сентября 2016

загрузить файл на FTP-сервер с помощью C # с нашего локального жесткого диска.

private void UploadFileToFTP()
{
   FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create("ftp://www.server.com/sample.txt");

   ftpReq.UseBinary = true;
   ftpReq.Method = WebRequestMethods.Ftp.UploadFile;
   ftpReq.Credentials = new NetworkCredential("user", "pass");

   byte[] b = File.ReadAllBytes(@"E:\sample.txt");
   ftpReq.ContentLength = b.Length;
   using (Stream s = ftpReq.GetRequestStream())
   {
        s.Write(b, 0, b.Length);
   }

   FtpWebResponse ftpResp = (FtpWebResponse)ftpReq.GetResponse();

   if (ftpResp != null)
   {
         if(ftpResp.StatusDescription.StartsWith("226"))
         {
              Console.WriteLine("File Uploaded.");
         }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...