我在服务器上托管我的网站,在另一台服务器上托管我的数据库,我通过webservices连接到db,需要将图像文件上传到数据库服务器我如何通过asp.net 3.5和jquery
来实现 我有oracle数据库,我需要在表中保存图像,我在源服务器上有asp.net但服务器有db没有asp,我可以在db服务器上创建ftp共享文件,但我需要另一种方式答案 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();
希望这会对你有所帮助。