win10怎么上传到远程服务器

win10怎么上传到远程服务器,第1张

Win10远程连接和远程桌面用户设置连接方法:

在WIN10任务栏搜索框中输入:远程连接,在查找结果中点击“远和桌面连接”。

打开后看到远程桌面的登陆界面了,输入要连接的计算机IP地址.

接着输入帐户和密码,点击连接即可。

在被登陆的电脑上做一个设置允许被远程连接,右键点击“此电脑”打开系统,然后点击“远程设置”.

在远程设置界面勾选,“允许远程挟制连接这台计算机”.

如果被连接的电脑是家庭版操作系统,是没有“远程桌面”这个选项的。

使用的是WebClient而不是ftp

首先,我们先来定义一个类UpLoadFile,这个类就是文件上传类。代码如下:

public void UpLoadFile(string fileNamePath, string uriString, bool IsAutoRename)

{

int indexOf = 0

if (fileNamePath.Contains(@"\"))

{

indexOf = fileNamePath.LastIndexOf(@"\")

}

else if (fileNamePath.Contains("/"))

{

indexOf = fileNamePath.LastIndexOf("/")

}

string fileName = fileNamePath.Substring(indexOf + 1)

string NewFileName = fileName

if (IsAutoRename)

{

NewFileName = DateTime.Now.ToString("yyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf("."))

}

string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1)

if (uriString.EndsWith("/") == false) uriString = uriString + "/"

uriString = uriString + NewFileName

/// 创建WebClient实例

WebClient myWebClient = new WebClient()

myWebClient.Credentials = CredentialCache.DefaultCredentials

// 要上传的文件

FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read)

//FileStream fs = OpenFile()

BinaryReader r = new BinaryReader(fs)

byte[] postArray = r.ReadBytes((int)fs.Length)

Stream postStream = myWebClient.OpenWrite(uriString, "PUT")

try

{

//使用UploadFile方法可以用下面的格式

//myWebClient.UploadFile(uriString,"PUT",fileNamePath)

if (postStream.CanWrite)

{

postStream.Write(postArray, 0, postArray.Length)

postStream.Close()

fs.Dispose()

}

else

{

postStream.Close()

fs.Dispose()

}

}

catch (Exception err)

{

postStream.Close()

fs.Dispose()

throw err

}

finally

{

postStream.Close()

fs.Dispose()

}

}

好了,定义好这个类之后就看我们怎么调用它了。在这里我给出一个例子:

单击某个按钮事件:

private void center_Click(object sender, EventArgs e)

{

//上传文件

//得到文件名,文件扩展名,服务器路径

string filePath = filename.Text//需要上传的文件,在这里可以根据需要采用OpenFileDialog来获取文件

string server = @"http://www.thylx.com/” //上传路径

//创建webclient实例

WebClient myWebClient = new WebClient()

try

{

//使用Uploadfile方法上传

UpLoadFile(filePath, server, true)

MessageBox.Show("上传成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

}

catch (Exception ex)

{

MessageBox.Show(ex.Message)

return

}

}

可以使用curl这个扩展来实现。

PHP 支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。

libcurl支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。

curl_close() 关闭一个cURL会话。

curl_copy_handle()复制一个cURL句柄和它的所有选项。

curl_errno()返回最后一次的错误号。

curl_error()返回一个保护当前会话最近一次错误的字符串

curl_escape()返回转义字符串,对给定的字符串进行URL编码。

curl_exec()执行一个cURL会话。

curl_file_create()创建一个CURLFile对象。

curl_getinfo()获取一个cURL连接资源句柄的信息。

curl_init()初始化一个cURL会话。

curl_multi_add_handle()向curl批处理会话中添加单独的curl句柄。

curl_multi_close()关闭一组cURL句柄。

curl_multi_exec()运行当前cURL句柄的子连接

curl_multi_getcontent()如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流。

curl_multi_info_read()获取当前解析的cURL的相关传输信息。

curl_multi_init()返回一个新cURL批处理句柄。

curl_multi_remove_handle()移除curl批处理句柄资源中的某个句柄资源。

curl_multi_select()等待所有cURL批处理中的活动连接。

curl_multi_setopt()设置一个批处理cURL传输选项。

curl_multi_strerror()返回描述错误码的字符串文本。

curl_pause()暂停及恢复连接。

curl_reset()重置libcurl的会话句柄的所有选项。

curl_setopt_array()为cURL传输会话批量设置选项。

curl_setopt()设置一个cURL传输选项。

curl_share_close()关闭cURL共享句柄。

curl_share_init()初始化cURL共享句柄。

curl_share_setopt()设置一个共享句柄的cURL传输选项。

curl_strerror()返回错误代码的字符串描述。

curl_unescape()解码URL编码后的字符串。

curl_version()获取cURL版本信息。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/180135.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存