谁能帮忙给个C# 上传视频到服务器指定文件夹的代码 CS结构 http方式上传的 C#视频上传iis服务器 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 服务器端 我在iis 虚拟目录下放了一个aspx文件 他们说是要发布 我也不太清楚怎么弄using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace _3DFramework.FunctionModules{ public partial class UC_upload : DevComponents.DotNetBar.Metro.MetroAppForm { protected void UC_upload(object sender, EventArgs e) { if (Request.Files.Count > 0) { try { HttpPostedFile file = Request.Files[0]; string filePath = this.MapPath("UploadDocument") + "//" + file.FileName; file.SaveAs(filePath); Response.Write("Success/r/n"); } catch { Response.Write("Error/r/n"); } } } }} 本地弄了一个上传方法/// 将本地文件上传到指定的服务器(HttpWebRequest方法) /// </summary> /// <param name="address">文件上传到的服务器</param> address:接收文件的URL地址:http://192.168.16.135:80/AnGeoDatas/UC_upload.aspx /// <param name="fileNamePath">要上传的本地文件(全路径)</param> fileNamePath:要上传的本地文件,如:D:\\\\\\\test.rar /// <param name="saveName">文件上传后的名称</param> saveName:文件上传到服务器后的名称,如:200901011234.rar /// <param name="progressBar">上传进度条</param> /// <returns>成功返回1,失败返回0</returns> //* private int Upload_Request(string address, string fileNamePath, string saveName, ProgressBar progressBar) { int returnValue = 0; // 要上传的文件 FileStream fileStream = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read); BinaryReader binaryReader = new BinaryReader(fileStream); //时间戳 string strBoundary = "----------" + DateTime.Now.Ticks.ToString("x"); byte[] boundaryBytes = Encoding.ASCII.GetBytes("/r/n--" + strBoundary + "/r/n"); //请求头部信息 StringBuilder sb = new StringBuilder(); sb.Append("--"); sb.Append(strBoundary); sb.Append("/r/n"); sb.Append("Content-Disposition: form-data; name=\""); sb.Append("file"); sb.Append("\"; filename=\""); sb.Append(saveName); sb.Append("\""); sb.Append("/r/n"); sb.Append("Content-Type: "); sb.Append("application/octet-stream"); sb.Append("/r/n"); sb.Append("/r/n"); string strPostHeader = sb.ToString(); byte[] postHeaderBytes = Encoding.UTF8.GetBytes(strPostHeader); // 根据uri创建HttpWebRequest对象 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(address)); request.Method = "POST"; //对发送的数据不使用缓存 request.AllowWriteStreamBuffering = false; //设置获得响应的超时时间(300秒) request.Timeout = 30000; request.ContentType = "multipart/form-data; boundary=" + strBoundary; long length = fileStream.Length + postHeaderBytes.Length + boundaryBytes.Length; long fileLength = fileStream.Length; request.ContentLength = length; try { progressBar.Maximum = int.MaxValue; progressBar.Minimum = 0; progressBar.Value = 0; progressBar.Step = 1; //每次上传4k int bufferLength = 4096; byte[] buffer = new byte[bufferLength]; //已上传的字节数 long offset = 0; //开始上传时间 DateTime startTime = DateTime.Now; int size = binaryReader.Read(buffer, 0, bufferLength); Stream postStream = request.GetRequestStream(); //发送请求头部消息 postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length); while (size > 0) { postStream.Write(buffer, 0, size); offset += size; progressBar.Value = (int)(offset * (int.MaxValue / length)); TimeSpan span = DateTime.Now - startTime; double second = span.TotalSeconds; //scSpeed.Text = "已用时:" + second.ToString("F2") + "秒"; //if (second > 0.001) //{ // scSpeed.Text = " 平均速度:" + (offset / 1024 / second).ToString("0.00") + "KB/秒"; //} //else //{ // scSpeed.Text = " 正在连接…"; //} //scSche.Text = "已上传:" + (offset * 100.0 / length).ToString("F2") + "%"; //scSche.Text += (offset / 1048576.0).ToString("F2") + "M/" + (fileLength / 1048576.0).ToString("F2") + "M"; //Application.DoEvents(); size = binaryReader.Read(buffer, 0, bufferLength); if ((offset / 1048576.0).ToString("F2") == (fileLength / 1048576.0).ToString("F2") || (offset / 1048576.0).ToString("F2").Equals((fileLength / 1048576.0).ToString("F2"))) { MessageBox.Show("完成?"); } } //添加尾部的时间戳 postStream.Write(boundaryBytes, 0, boundaryBytes.Length); postStream.Close(); //获取服务器端的响应 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); request.ContentType = "text/html"; Stream stream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(stream); MessageBox.Show("是的!完成!"); //读取服务器端返回的消息 String sReturnString = streamReader.ReadLine(); stream.Close(); streamReader.Close(); if (sReturnString == "Success") { returnValue = 1; } else if (sReturnString == "Error") { returnValue = 0; } } catch { returnValue = 0; } finally { fileStream.Close(); binaryReader.Close(); } return returnValue; } 关于判断数据表是否有主键的问题 遇到一个奇怪问题 如何获取AVI文件的画面尺寸、持续时间等信息 网络标识在哪里? 请大家介绍下在winform中,有些什么方法可以数据转换成字节数组?[说的多分就多] 关于xml?高手,问题很难吧 怎么才能成为大猩猩? 如果DataGrid允许排序,那怎么取DataGrid的索引值啊,进而取一条记录? 求大神解决c#插入出现问题 转换成c#代码 C# 调用存储过程问题 求一个LINQ的写法
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace _3DFramework.FunctionModules
{
public partial class UC_upload : DevComponents.DotNetBar.Metro.MetroAppForm
{
protected void UC_upload(object sender, EventArgs e)
{
if (Request.Files.Count > 0)
{
try
{
HttpPostedFile file = Request.Files[0];
string filePath = this.MapPath("UploadDocument") + "//" + file.FileName;
file.SaveAs(filePath);
Response.Write("Success/r/n");
}
catch
{
Response.Write("Error/r/n");
}
}
}
}
}
/// </summary>
/// <param name="address">文件上传到的服务器</param> address:接收文件的URL地址:http://192.168.16.135:80/AnGeoDatas/UC_upload.aspx
/// <param name="fileNamePath">要上传的本地文件(全路径)</param> fileNamePath:要上传的本地文件,如:D:\\\\\\\test.rar
/// <param name="saveName">文件上传后的名称</param> saveName:文件上传到服务器后的名称,如:200901011234.rar
/// <param name="progressBar">上传进度条</param>
/// <returns>成功返回1,失败返回0</returns>
//*
private int Upload_Request(string address, string fileNamePath, string saveName, ProgressBar progressBar)
{
int returnValue = 0;
// 要上传的文件
FileStream fileStream = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);
BinaryReader binaryReader = new BinaryReader(fileStream); //时间戳
string strBoundary = "----------" + DateTime.Now.Ticks.ToString("x");
byte[] boundaryBytes = Encoding.ASCII.GetBytes("/r/n--" + strBoundary + "/r/n"); //请求头部信息
StringBuilder sb = new StringBuilder();
sb.Append("--");
sb.Append(strBoundary);
sb.Append("/r/n");
sb.Append("Content-Disposition: form-data; name=\"");
sb.Append("file");
sb.Append("\"; filename=\"");
sb.Append(saveName);
sb.Append("\"");
sb.Append("/r/n");
sb.Append("Content-Type: ");
sb.Append("application/octet-stream");
sb.Append("/r/n");
sb.Append("/r/n");
string strPostHeader = sb.ToString();
byte[] postHeaderBytes = Encoding.UTF8.GetBytes(strPostHeader); // 根据uri创建HttpWebRequest对象
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(address));
request.Method = "POST"; //对发送的数据不使用缓存
request.AllowWriteStreamBuffering = false; //设置获得响应的超时时间(300秒)
request.Timeout = 30000;
request.ContentType = "multipart/form-data; boundary=" + strBoundary;
long length = fileStream.Length + postHeaderBytes.Length + boundaryBytes.Length;
long fileLength = fileStream.Length;
request.ContentLength = length; try
{
progressBar.Maximum = int.MaxValue;
progressBar.Minimum = 0;
progressBar.Value = 0;
progressBar.Step = 1; //每次上传4k
int bufferLength = 4096;
byte[] buffer = new byte[bufferLength]; //已上传的字节数
long offset = 0; //开始上传时间
DateTime startTime = DateTime.Now;
int size = binaryReader.Read(buffer, 0, bufferLength);
Stream postStream = request.GetRequestStream(); //发送请求头部消息
postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
while (size > 0)
{
postStream.Write(buffer, 0, size);
offset += size;
progressBar.Value = (int)(offset * (int.MaxValue / length));
TimeSpan span = DateTime.Now - startTime;
double second = span.TotalSeconds;
//scSpeed.Text = "已用时:" + second.ToString("F2") + "秒";
//if (second > 0.001)
//{
// scSpeed.Text = " 平均速度:" + (offset / 1024 / second).ToString("0.00") + "KB/秒";
//}
//else
//{
// scSpeed.Text = " 正在连接…";
//}
//scSche.Text = "已上传:" + (offset * 100.0 / length).ToString("F2") + "%";
//scSche.Text += (offset / 1048576.0).ToString("F2") + "M/" + (fileLength / 1048576.0).ToString("F2") + "M";
//Application.DoEvents();
size = binaryReader.Read(buffer, 0, bufferLength);
if ((offset / 1048576.0).ToString("F2") == (fileLength / 1048576.0).ToString("F2") ||
(offset / 1048576.0).ToString("F2").Equals((fileLength / 1048576.0).ToString("F2")))
{
MessageBox.Show("完成?");
}
}
//添加尾部的时间戳
postStream.Write(boundaryBytes, 0, boundaryBytes.Length);
postStream.Close(); //获取服务器端的响应
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
request.ContentType = "text/html";
Stream stream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(stream);
MessageBox.Show("是的!完成!");
//读取服务器端返回的消息
String sReturnString = streamReader.ReadLine();
stream.Close();
streamReader.Close();
if (sReturnString == "Success")
{
returnValue = 1;
}
else if (sReturnString == "Error")
{
returnValue = 0;
} }
catch
{
returnValue = 0;
}
finally
{
fileStream.Close();
binaryReader.Close();
}
return returnValue; }