如何通过asp.net3.5将映像文件从服务器传输到另一台服务器

时间:2012-03-21 08:44:38

标签: jquery asp.net asp.net-mvc asp.net-mvc-3

我在服务器上托管我的网站,在另一台服务器上托管我的数据库,我通过webservices连接到db,需要将图像文件上传到数据库服务器我如何通过asp.net 3.5和jquery

来实现 我有oracle数据库,我需要在表中保存图像,我在源服务器上有asp.net但服务器有db没有asp,我可以在db服务器上创建ftp共享文件,但我需要另一种方式

2 个答案:

答案 0 :(得分:1)

如果它是服务器到服务器,那么你不需要使用jQuery。

您需要在目标数据库服务器上运行Windows服务或IIS托管的WCF服务。此服务将公开WCF端点并与数据库建立连接。然后,您需要在源服务器上编写一个客户端,该客户端将文件名作为输入或监视文件系统,这将连接到数据库服务器上的WCF服务。

更好的方法是从源服务器直接连接到数据库,并将数据传递到具有数据列类型的表行。

答案 1 :(得分:0)

您可以使用asp.net通过ftpclient将文件从一台服务器传输到另一台服务器。

示例代码将是这样的。

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();

希望这会对你有所帮助。