как перенести файл изображения с сервера на другой сервер с помощью asp.net3.5 - PullRequest
0 голосов
/ 21 марта 2012

Я размещаю свой веб-сайт на сервере, а свою базу данных на другом сервере, я подключаюсь к БД через веб-сервисы и при необходимости загружаю файлы изображений на сервер базы данных, как я могу это сделать с помощью asp.net 3.5 и jquery

У меня есть база данных Oracle, и мне нужно сохранить изображение в таблице, у меня есть asp.net на исходном сервере, но на сервере, у которого есть db, нет asp, и я могу создать общий ресурс ftp на сервере db, но мне нужен другой способ

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Если это сервер-сервер, вам не нужно использовать jQuery.

Вам понадобится служба Windows или служба WCF, размещенная на IIS, работающая на целевом сервере базы данных. Эта служба будет предоставлять конечную точку WCF и иметь подключение к базе данных. Затем вам нужно написать клиент на исходном сервере, который либо принимает имена файлов в качестве входных данных, либо контролирует файловую систему, это подключится к службе WCF на сервере базы данных.

Лучший способ создать это - подключиться напрямую к базе данных с исходного сервера и передать данные в строку таблицы с типом столбца для данных.

0 голосов
/ 21 марта 2012

Вы можете передавать файлы с одного сервера на другой сервер через ftpclient, используя asp.net.

Пример кода будет таким.

FtpWebRequest ftpClient = (FtpWebRequest)FtpWebRequest.Create(ftpurl + "_" + filename);
ftpClient.Credentials = new System.Net.NetworkCredential(ftpusername, ftppassword);
ftpClient.Method = System.Net.WebRequestMethods.Ftp.UploadFile;
ftpClient.UseBinary = true;
ftpClient.KeepAlive = true;
System.IO.FileInfo fi = new System.IO.FileInfo(fileurl);
ftpClient.ContentLength = fi.Length;
byte[] buffer = new byte[4097];
int bytes = 0;
int total_bytes = (int)fi.Length;
System.IO.FileStream fs = fi.OpenRead();
System.IO.Stream rs = ftpClient.GetRequestStream();
while (total_bytes > 0)
{
   bytes = fs.Read(buffer, 0, buffer.Length);
   rs.Write(buffer, 0, bytes);
   total_bytes = total_bytes - bytes;
}
fs.Close();
rs.Close();
FtpWebResponse uploadResponse = (FtpWebResponse)ftpClient.GetResponse();
string status = uploadResponse.StatusDescription;
uploadResponse.Close();

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...