ASP/ASP.NET/VB6文件上传
1. asp
asp 上传文件真的蛋疼,很麻烦,有时候就用第三方组件,或者比较复杂的写法来实现无组件上传。
测试OK的一个叫风声无组件上传类 V2.1 [Fonshen UpLoadClass Version 2.1] :风声 ASP 上传组件
用.net程序测试:
private void button1_Click(object sender, EventArgs e)
{
string url = "http://localhost/UploadFileTest/demo1/upload.asp";
WebClient wc = new WebClient();
//wc.Headers.Add("Content-Type", "multipart/form-data");
string file = "d:\\33.mdb";
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileAsync(new Uri(url,UriKind.Absolute ), file ); } void wc_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
Text = ""+e.ProgressPercentage;
} void wc_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
{
MessageBox.Show(Encoding.UTF8.GetString(e.Result)); MessageBox.Show("upload ok");
}
2. ASP.NET
服务端:
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ if (Request.Files.Count > 0)
{
Request.Files[0].SaveAs(Server.MapPath("~/") + Path.GetFileName(Request.Files[0].FileName));
Label1.Text = "上传成功!";
}
else {
Label1.Text = "no file!";
} } }
客户端可以用上面那个 用.net程序测试。
改下 url = "http://localhost:4567/WebSite2/Default.aspx";//假如这个是服务端保存上传文件的东西。
3.VB6 上传文件
VB6 不好实现,可借用第三方组件:ChilkatHttp
Private Sub Command1_Click()
Dim url As String
url = "http://localhost:4567/WebSite2/Default.aspx" ' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim TlsUnlockCode As String
TlsUnlockCode = "xxxxxxxxxxxxxxxx" '正式版解锁代码,需要购买 Dim http As New ChilkatHttp
unLockSuccess = http.UnlockComponent(TlsUnlockCode) 'or call UnlockComponetChilkatHttp(oHttpServer) Dim req As New ChilkatHttpRequest
req.HttpVerb = "POST"
req.contentType = "multipart/form-data"
req.Path = "WebSite2/Default.aspx" ' Send an "Expect: 100-continue" header in the request.
' This causes the HTTP server to end a 100-continue response
' immediately after receiving the HTTP header. The client
' (Chilkat) will receive this intermediate response, and if
' it's not an error response, it knows that the HTTP server will
' accept the data that is forthcoming.
' The alternative is to get an error response after trying to upload
' the entire contents of the files.
req.AddHeader "Expect", "100-continue" ' Call AddFileForUpload2 for each file to be uploaded in the HTTP multipart/form-data POST
' To allow Chilkat to determine the content-type automatically based on file-extension,
' call AddFileForUpload instead. ' The 1st arg is the filename passed in the HTTP request.
' The 2nd arg is the path in the local filesytem.
' The file is not loaded into memory. It is streamed directly from the file
' when the HTTP POST is sent.
Dim success As Long
success = req.AddFileForUpload("33.mdb", "d:/33.mdb") 'req.AddFileForUpload2("1.jpg", "d:/1.jpg", "image/jpg")
If (success <> 1) Then
MsgBox req.LastErrorText
Exit Sub
End If ' http://www.mywebserver123abc.com/rcvFormDataUpload.aspx
Dim resp As ChilkatHttpResponse
Set resp = http.SynchronousRequest("localhost", 4567, 0, req)
If (http.LastMethodSuccess <> 1) Then
Debug.Print http.LastErrorText
Else
Debug.Print "HTTP response status: " & resp.StatusCode
' See the online reference documentation for
' other information that can be obtained from the response object. End If Exit Sub
'------------------------------------------------------------------------
' To send using SSL/TLS, do this instead.
' This sends to https://www.mywebserver123abc.com/rcvFormDataUpload.aspx
Set resp = http.SynchronousRequest("www.mywebserver123abc.com", 443, 1, req)
If (http.LastMethodSuccess <> 1) Then
Debug.Print http.LastErrorText
Else
Debug.Print "HTTP response status: " & resp.StatusCode
' See the online reference documentation for
' other information that can be obtained from the response object. End If End Sub
ASP/ASP.NET/VB6文件上传的更多相关文章
- ASP.NET中的文件上传大小限制的问题
一.文件大小限制的问题 首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文 ...
- Asp.net mvc 大文件上传 断点续传
Asp.net mvc 大文件上传 断点续传 进度条 概述 项目中需要一个上传200M-500M的文件大小的功能,需要断点续传.上传性能稳定.突破asp.net上传限制.一开始看到51CTO上的这 ...
- MVC图片上传、浏览、删除 ASP.NET MVC之文件上传【一】(八) ASP.NET MVC 图片上传到服务器
MVC图片上传.浏览.删除 1.存储配置信息 在web.config中,添加配置信息节点 <appSettings> <add key="UploadPath" ...
- iOS开发之结合asp.net webservice实现文件上传下载
iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载. 首先,让我们看下文件下载. 这里我们下载cnblogs上的一个zip文件.使用N ...
- ASP.NET MVC之文件上传【一】(八)
前言 这一节我们来讲讲在MVC中如何进行文件的上传,我们逐步深入,一起来看看. Upload File(一) 我们在默认创建的项目中的Home控制器下添加如下: public ActionResult ...
- 解决ASP.NET Core Mvc文件上传限制问题
一.简介 在ASP.NET Core MVC中,文件上传的最大上传文件默认为20MB,如果我们想上传一些比较大的文件,就不知道怎么去设置了,没有了Web.Config我们应该如何下手呢? 二.设置上传 ...
- ASP.NET MVC之文件上传【一】
前言 这一节我们来讲讲在MVC中如何进行文件的上传,我们逐步深入,一起来看看. Upload File(一) 我们在默认创建的项目中的Home控制器下添加如下: public ActionResult ...
- ASP.NET网络硬盘(文件上传,文件下载)
文件上传: 界面: 前台代码: <body style="text-align: center; background-image: url(Images/bg6.bmp);" ...
- asp.net core webapi文件上传
最近开发一个新项目,使用了asp.net core 2.0,采用webapi开发后台,postgresql为数据库.最先来的问题就是上传文件的问题. POST文件的一些坑 使用默认模板创建webapi ...
- ASP.NET对大文件上传的解决方案
在ASP.NET 开发的过程中,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的做到多线程的操控和上传进度的显示.笔者在此给大家推荐一款简单易用的上传组件,从而快速便捷得解决了 ...
随机推荐
- 升级 Jenkins 从 1.56 到 2.64
今天上午小伙伴突然发现 git 的 Credential 出错了,同时页面的保存按钮也找不到.折腾了半天没有头绪,干脆升级到最新的版本吧,毕竟也很久没升级了. 从 1.x 到 2.x 有很多改动,为了 ...
- AI病毒来袭,拿什么拯救你我的电脑?
文|雷宇 来源|智能相对论(aixdlun) 在刘慈欣的科幻小说<中国2185>中,除领土,领海,领空外,还有一个被称为电子领土的地方,这个地方除了容易受常规武器破坏外,还容易受到软件武器 ...
- 浅谈webpack优化
webpack优化方案 1. 优化开发体验 1-1. 加快构建速度 ① 缩小文件搜索范围 由于 Loader 对文件的转换操作很耗时,需要让尽可能少的文件被 Loader 处理,用include和ex ...
- kissy初体验-waterfall
目录: 1. 功能介绍 2. waterfall样例展示 3. 使用说明 4. 遇到过的问题 5. 总结 1. 功能介绍 现在越来越多的网站开始瀑布流方式布局,瀑布流式布局(百度百科:瀑布流),是比较 ...
- JSP 语法
JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代 ...
- Leetcode 52
//N皇后的基础上改了一点class Solution { public: int totalNQueens(int n) { ; vector<); DFS(pos,,res); return ...
- SGU 131. Hardwood floor 状压dp 难度:2
131. Hardwood floor time limit per test: 0.25 sec. memory limit per test: 4096 KB The banquet hall o ...
- AutoFac IoC DI 依赖注入
AutoFac IoC DI 依赖注入 记录点点滴滴知识,为了更好的服务后来者! 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌 ...
- 看我如何快速学习.Net(高可用数据采集平台)
最近文章:高可用数据采集平台(如何玩转3门语言php+.net+aauto).高并发数据采集的架构应用(Redis的应用) 项目文档:关键词匹配项目深入研究(二)- 分表思想的引入 吐槽:本人也是非常 ...
- PLSQL 触发器
触发器权限 数据库创建用户时想要在本用户下使用触发器,需要给用户触发器的权限 使用DBA用户执行 GRANT CREATE TRIGGER TO user_name; 如果想在当前用户下创建其他用户 ...