0

我有两个在线网站,即第一个是使用 asp.net、C#、sql server 开发的 PM,第二个是使用 php、mysql 开发的。

我需要通过选择一个网站进行 CRUD 操作(asp.net)来管理数据,而在另一个网站(php)上,查看者只能查看数据(由 asp.net 网站插入)。

因为查看的信息相同,但在不同的网站上。

我需要在 asp .net 网站上插入带有 3 个示例文件的人员数据,并将信息 + 示例文件插入并移动到 php 网站。

我真的不知道要实现这一点,我可以使用 Webclient() 将数据发布到 php web 但仍然如何将文件移动到 php 页面。

我可以使用 webclient /ajax post 将文件路径从 c# 传递到 PHP 以将文件从一台服务器上传到另一台服务器吗?

发表评论说!

“文件输入用于将文件从您的计算机发送到服务器。PHP 无法“访问”您的本地计算机并获取文件,即使您将完整路径传递给它。这是不可能的,因为这将是一个巨大的安全漏洞。”

将文件路径传递给php脚本

需要帮忙 :(

请回复

4

1 回答 1

0

可以在php服务器上安装设置ftp软件,然后就可以在c#中使用FtpWebRequest上传文件了:

    private FtpWebRequest GetRequest(string requestUri, string method, bool keepAlive)
    {
        FtpWebRequest retVal = null;

        try
        {
            retVal = FtpWebRequest.Create(requestUri) as FtpWebRequest;
            retVal.Method = method;
            retVal.Credentials = new NetworkCredential(username, password);
            retVal.UsePassive = true;
            retVal.UseBinary = true;
            retVal.KeepAlive = keepAlive;
           // retVal = request.GetRequestStream();


        }
        catch (Exception ex)
        {

        }

        return retVal;
    }

    public bool UploadFile(string fileToUpload)
    {
        bool retVal = false;


        FtpWebRequest request = null;
        Stream outstream = null;
        FileStream fs = null;

        try
        {
            request = GetRequest(String.Format("{0}/{1}", host, Path.GetFileName(fileToUpload)), WebRequestMethods.Ftp.UploadFile, false);


            byte[] buffer = new byte[4096];
            int count = 0;

            outstream = request.GetRequestStream();

            using (FileStream streamReader = File.OpenRead(fileToUpload))
            {
                int read;
                while ((read = streamReader.Read(buffer, 0, buffer.Length)) > 0)
                {
                    Console.WriteLine("Writing to FTP stream: " + (count += read));
                    outstream.Write(buffer, 0, read);
                    outstream.Flush();
                }
            }

            retVal = true;
        }
        catch (Exception ex)
        {

        }
        finally
        {
            Console.WriteLine("Closing the FTP stream");

            if (request != null)
            {
                request.Abort();
            }

            if (outstream != null)
                outstream.Close();
        }

        return retVal;


    }
于 2013-09-23T12:52:38.310 回答