当前位置:首页 » 文件管理 » aspnetmvcftp上传

aspnetmvcftp上传

发布时间: 2023-05-23 05:40:59

1. .net mvc用uploadify 插件上传图片上ftp,上传成功之后怎么把图片显示在前台页面

你能获取到图片对象吗?
Javascript
文件流. FileReader

======================================================================

///创建一个文件读取对象

var reader = new
FileReader();

//监听Onload完成

reader.onload =
function(e){$('#img1').attr('src',e.target.result)}

//

function
(e){$('#img1').attr('src',e.target.result)}

//读取Url

reader.readAsDataURL(data.files[0])
这样就可以获取到bit64格式的url 直接当成Url就行了。

2. 如何在ftp部署.net mvc

不可以的。。。部署MVC环境需要服务器里面部署的

3. C#.net 上传文件到FTP

可以利用 C# FTP上传类上传

publicclassFtpWeb
{
stringftpServerIP;
stringftpRemotePath;
stringftpUserID;
stringftpPassword;
迅春stringftpURI;

///<summary>
///连接FTP
///</summary>
///<paramname="FtpServerIP">FTP连接地址</param>
///<paramname="FtpRemotePath">指定FTP连接成功后的当前目录,如果不指定即默认为根目录</param>
///<paramname="FtpUserID">用户名</param>
///<paramname="FtpPassword">密码</param>
publicFtpWeb(stringFtpServerIP,stringFtpRemotePath,stringFtpUserID,stringFtpPassword)
{
ftpServerIP=FtpServerIP;
ftpRemotePath=FtpRemotePath;
ftpUserID=FtpUserID;
ftpPassword=FtpPassword;
ftpURI="ftp://"+ftpServerIP+"/"+ftpRemotePath+"/";
}

///<summary>
///上传
///</summary>
///<paramname="filename"></param>
亩岁耐publicvoidUpload(stringfilename)
{
FileInfofileInf=newFileInfo(filename);
stringuri=ftpURI+fileInf.Name;
FtpWebRequestreqFTP;

reqFTP=(FtpWebRequest)FtpWebRequest.Create(newUri(uri));
reqFTP.Credentials=雀颤newNetworkCredential(ftpUserID,ftpPassword);
reqFTP.KeepAlive=false;
reqFTP.Method=WebRequestMethods.Ftp.UploadFile;
reqFTP.UseBinary=true;
reqFTP.ContentLength=fileInf.Length;
intbuffLength=2048;
byte[]buff=newbyte[buffLength];
intcontentLen;
FileStreamfs=fileInf.OpenRead();
try
{
Streamstrm=reqFTP.GetRequestStream();
contentLen=fs.Read(buff,0,buffLength);
while(contentLen!=0)
{
strm.Write(buff,0,contentLen);
contentLen=fs.Read(buff,0,buffLength);
}
strm.Close();
fs.Close();
}
catch(Exceptionex)
{
Insert_Standard_ErrorLog.Insert("FtpWeb","UploadError-->"+ex.Message);
}
}
}

4. 用DRMER WEAVER做的网页,已做完,也有上传工具,请问到底如何上传到INTRNET上,这里面前奏和具体步骤怎么做

网站上传方法汇总,制作好网页后,如何把网页上传到申请的空间呢?为初学者做一个汇总。

上传的定义

上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到。将制作好的网页、文字、图片等发布到互联网上去,以便让其他人浏览、欣赏。这一过程称为上传。

上传的来源

上传一词来自英文(upload),拆开来“up”为“上”,“load”为“载”,故上传也叫上载,与下载(download)是逆过程。 网页教学网

上传的分类 Webjx.Com

上传分为Web上传和Ftp上传,前者直接通过点击网页上的链接即可操作,后者需要专用的FTP工具。

上传小知识
网页教学网

在上传主页之前,让我们先来认识Internet上一个基本的概念———FTP。它是英文“File Transfer Protocol”(文件传输协议)的缩写,不过我们今天已经把它看成了一个动词,意思是说在计算机和计算机之间传输文件。把自己制作好的主页上传到服务器上,就要用到FTP。

有许多种方法可以把主页文件上传到Internet服务器上,下面是常见的五种方法。

1、使用FTP软件上传主页文件

这是最常用、最方便也是功能最为强大的主页上传方法。现在网上这类软件很多,像CuteFtp、WS-Ftp已经广受网友欢迎。这类软件除了可以完成文件传输的功能以外,还可以通过它们完成站点管理、远程编辑服务器文件等工作,一些常用的FTP软件还有断点续传、任务管理、状态监控等功能,可以让你的上传工作变得非常轻松。

2、使用“兼职”的FTP软件上传主页文件

所谓兼职的 FTP软件,是指软件本身并不是专门用来完成FTP功能的,主页上传只是其编外任务。例如我们常用的FrontPage、Dreamweaver、东方主页王Ⅱ等都有主页上传、发布的功能。使用这类软件的好处是可以在编辑主页的同时就上传到服务器上查看主页效果,省去了启动软件、登录、设置等诸多麻烦。但是,这种方法往往上传速度较慢,且难以对服务器上的文件进行管理。

3、使用Web页面上传主页文件

和前面两种方法相比,这种方法不但没有什么明显的优点,而且速度缓慢、操作麻烦、不支持断点续传。但是,如果你恰恰申请了一个这样的不支持FTP的免费主页空间,那么就只能使用这种笨拙的方法了!

4、通过命令上传主页文件

在很久很久以前,Unix系统上的FTP程序是基于命令行的,现在的Window95/98/NT/2000/Me仍然有基于命令行的FTP程序(进入 DOS模式,输入FTP就可以了)。使用这种方法首先要掌握几十条命令不说,而且屏幕上通常只能显示25或50行文字,很不方便。图形界面的FTP软件流行之后,这种方法已经被大多数网友抛弃了,只供少数骨灰级的网虫练习他们的指法。

5、通过E-mail上传

这种方法要求你把主页文件通过E-mail发给系统管理员,然后再由系统管理员把它们放到服务器上。这是最简单也是最复杂的方法,随着网络条件的提高,这种方法已逐渐销声匿迹了。

大文件上传
Webjx.Com

以前也做过文件上传,但都是些小文件,不超过2M。 这次要求上传100M以上的东西。没办法找来资料研究了一下。基于WEB的文件上传可以使用FTP和HTTP两种协议,用FTP的话虽然传输稳定,但安全性是个严重的问题,而且FTP服务器读用户库获取权限,这样对于用户使用来说还是不太方便。剩下只有HTTP。在HTTP中有3种方式,PUT、WEBDAV、RFC1867,前2种方法不适合大文件上传,目前我们使用的web上传都是基于 RFC1867标准的HTML中基于表单的文件上传。

一、先简要介绍一下RFC1867(Form-based File Upload in HTML)标准:

1.带有文件提交功能的HTML表单

现有的HTML规范为INPUT元素的TYPE属性定义了八种可能的值,分别是:CHECKBOX, HIDDEN,MAGE,PASSWORD,RADIO,RESET,SUBMIT,TEXT。另外,当表单采用POST方式的时候,表单默认的具有“application/x-www-form-urlencoded”的ENCTYPE属性。

RFC1867标准对HTML做出了两处修改:

(1)为INPUT元素的TYPE属性增加了一个FILE选项。

(2)INPUT标记可以具有ACCEPT属性,该属性能够指定可被上传的文件类型或文件格式列表。

另外,本标准还定义了一种新的MIME类型:multipart/form-data,以及当处理一个带有ENCTYPE="multipart /form-data" 并且/或含有<INPUT type="file">的标记的表单时所应该采取的行为。

举例来说,当HTML表单作者想让用户能够上传一个或更多的文件时,他可以这么写:

<FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>

File to process:
<INPUT NAME="userfile1" TYPE="file">

<INPUT TYPE="submit" VALUE="Send File">

</FORM>

HTML DTD里所需要做出的改动是为InputType实体增加一个选项。此外,我们也建议用一系列用逗号分隔的文件类型来作为INPUT标记的ACCEPT属性。

... (其他元素) ...

<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |

RADIO | SUBMIT | RESET |

网页教学网

IMAGE | HIDDEN | FILE )">

<!ELEMENT INPUT - 0 EMPTY>

<!ATTLIST INPUT

TYPE %InputType TEXT

NAME CDATA #IMPLIED -- required for all but submit and reset

VALUE CDATA #IMPLIED

SRC %URI #IMPLIED -- for image inputs --

CHECKED (CHECKED) #IMPLIED

SIZE CDATA #IMPLIED --like NUMBERS,

but delimited with comma, not space

MAXLENGTH NUMBER #IMPLIED Webjx.Com

ALIGN (top|middle|bottom) #IMPLIED

ACCEPT CDATA #IMPLIED --list of content types

>

... (其他元素) ...

2.文件传输延迟

在某些情况下,在确实准备接受数据前,服务器先对表单数据中的某些元素(比如说用户名,账号等)进行验证是推荐的做法。但是,经过一定的考虑后,我们认为如果服务器想这样做的话,最好是采用一系列的表单,并将前面所验证过的数据元素作为“隐藏”字段传回给客户端,或者是通过安排表单使那些需要验证的元素先显示出来。这样的话,那些需要做复杂的应用的服务器可以自己维持事务处理的状态,而那些简单的应用的则可以实现得简单些。

HTTP协议可能需要知道整个事务处理中的内容总长度。即使没有明确要求,HTTP客户端也应该提供上传的所有文件的内容总长度,这样一个繁忙的服务器就能够判断文件的内容是否是过大以至于将不能完整地处理,从而返回一个错误代码并关闭该连接,而不用等到接受了所有的数据才进行判断。目前一些现有的 CGI应用对所有的POST事务都需要知道内容总长度。

如果INPUT标记含有一个MAXLENGTH属性,客户端可以将这个属性值看作是服务器端所能够接受的传送文件的最大字节数。在这种情况下,服务器能够在上传开始前,提示客户端在服务器上有多少空间可以用来进行文件上传。但是应该引起注意的是,这仅仅是一个提示,在表单被创建后和文件上传前,服务器的实际需求可能会发生改变。

在任何情况下,如果接受的文件过大的话,任何一个HTTP服务器都有可能在文件传输的过程中中断传输。

3.传输二进制数据的其他解决办法

有些人曾经建议使用一种新的MIME类型"aggregate",比如说aggregate/mixed 或是content-transfer-encoding "包"来描述那些不确定长度的二进制数据,而不是靠分解为多个部分来表示。虽然我们并不反对这么做,但这需要增加额外的设计和标准化工作来让大家接受并理解"aggregate"。从另一方面来说,"分解为多部分"的机制工作得很好,能够非常简单的在客户发送端和服务器接受端加以实现,而且能像其他一些综合处理二进制数据的方式一样高效率地工作。

4.例子
Webjx.Com

假设服务器段提供的是如下的HTML:

<FORM ACTION="http://server.dom/cgi/handle"

ENCTYPE="multipart/form-data"

METHOD=POST>

What is your name? <INPUT TYPE=TEXT NAME=submitter>

What files are you sending? <INPUT TYPE=FILE NAME=pics>

</FORM>

用户在“姓名”字段里面填写"Joe Blow",对问题'What files are you sending?',用户选择

了一个文本文件"file1.txt"。

客户段可能发送回如下的数据:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x

content-disposition: form-data; name="field1" 网页教学网

Joe Blow

--AaB03x

content-disposition: form-data; name="pics"; filename="file1.txt"

Content-Type: text/plain

... file1.txt 的内容...

--AaB03x--

如果用户同时还选择了另一个图片文件"file2.gif",那么客户端可能发送的数据将是:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x

content-disposition: form-data; name="field1"

Joe Blow

--AaB03x

content-disposition: form-data; name="pics"

Content-type: multipart/mixed, boundary=BbC04y

--BbC04y

Content-disposition: attachment; filename="file1.txt"

Content-Type: text/plain

... file1.txt 的内容...

--BbC04y

Content-disposition: attachment; filename="file2.gif"

Content-type: image/gif

Content-Transfer-Encoding: binary

... file2.gif的内容...

--BbC04y--

--AaB03x--

二、利用RFC1867标准处理文件上传的两种方式:

Webjx.Com

1.一次性得到上传的数据,然后分析处理。

看了N多代码之后发现,目前无组件程序和一些COM组件都是使用Request.BinaryRead方法。一次性得到上传的数据,然后分析处理。这就是为什么上传大文件很慢的原因了,IIS超时不说,就算几百M文件上去了,分析处理也得一阵子。

2.一边接收文件,一边写硬盘。

了解了一下国外的商业组件,比较流行的有Power- Web,AspUpload,ActiveFile,ABCUpload,aspSmartUpload,SA-FileUp。其中比较优秀的是 ASPUPLOAD和SA-FILE,他们号称可以处理2G的文件(SA-FILE EE版甚至没有文件大小的限制),而且效率也是非常棒,难道编程语言的效率差这么多?查了一些资料,觉得他们都是直接操作文件流。这样就不受文件大小的制约。但老外的东西也不是绝对完美,ASPUPLOAD处理大文件后,内存占用情况惊人。1G左右都是稀松平常。至于SA-FILE虽然是好东西但是破解难寻。然后发现2款.NET上传组件,Lion.Web.UpLoadMole和AspnetUpload也是操作文件流。但是上传速度和CPU占用率都不如老外的商业组件。

做了个测试,LAN内传1G的文件。ASPUPLOAD上传速度平均是4.4M/s,CPU占用10-15,内存占用700M。SA-FILE也差不多这样。而AspnetUpload最快也只有1.5M/s,平均是700K/s,CPU占用15-39,测试环境: PIII800,256M内存,100M LAN。我想AspnetUpload速度慢是可能因为一边接收文件,一边写硬盘。资源占用低的代价就是降低传输速度。但也不得不佩服老外的程序,CPU 占用如此之低.....。

三、ASP.NET上传文件遇到的问题

我们在用ASP.NET上传大文件时都遇到过这样或那样的问题。设置很大的maxRequestLength值并不能完全解决问题,因为ASP.NET 会block直到把整个文件载入内存后,再加以处理。实际上,如果文件很大的话,我们经常会见到Internet Explorer显示 "The page cannot be displayed - Cannot find server or DNS Error",好像是怎么也catch不了这个错误。为什么?因为这是个client side错误,server side端的Application_Error是处理不到的。

四、ASP.NET大文件上传解决方案

解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody 和 ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据。Chris Hynes为我们提供了这样的一个方案(用HttpMole),该方案除了允许你上传大文件外,还能实时显示上传进度。

Lion.Web.UpLoadMole和AspnetUpload 两个.NET组件都是利用的这个方案。

方案原理:
Webjx.Com

利用HttpHandler实现了类似于ISAPI Extention的功能,处理请求(Request)的信息和发送响应(Response)。

方案要点:

1. httpHandler or HttpMole
a.在asp.net进程处理request请求之前截获request对象
b.分块读取和写入数据
c.实时跟踪上传进度更新meta信息

2. 利用隐含的HttpWorkerRequest用它的GetPreloadedEntityBody 和 ReadEntityBody方法处理文件流
IServiceProvider provider = (IServiceProvider) HttpContext.Current;
HttpWorkerRequest wr = (HttpWorkerRequest) provider.GetService(typeof(HttpWorkerRequest));
byte[] bs = wr.GetPreloadedEntityBody();
....
if (!wr.IsEntireEntityBodyIsPreloaded())
{
int n = 1024;
byte[] bs2 = new byte[n];
while (wr.ReadEntityBody(bs2,n) >0)
{ 网页教学网
.....
}
}

3. 自定义Multipart MIME 解析器。
自动截获MIME分割符。
将文件分块写如临时文件。
实时更新Appliaction 状态(ReceivingData, Error, Complete) 。

5. larave 框架怎么用ftp上传

larave就是一个php的MVC框架,里面集成一些操作类,框架里面类不够用的函数,还是需要自己写php函数卖笑斗;它只是一个框架,原生php改用的还得升袭用,不要拘于这中磨些细节。

6. ASP.NET MVC3上传到空间商的服务器上(IIS7,已开通ASP.NET )后出现403错误是怎么回事

不确定,供参考一下,

看一下服务器提供商IIS 7上所安装的模块(Mole),看有没有少了UrlAuthorization(尤其是这个)、UrlMappingsMole、UrlRoutingMole这些“托管模块”,还有可能缺少的“本机模块”是什么我忘了。。

再不行的话就让服务器提供商把他IIS 7上所安装的模块(本机的跟托管的)名字复制一份给你,然后把这些模块名字跟你自己机子上的IIS 7所安装模块名字对比一下,看看服务器提供商的IIS 7有没有少了哪个(些)模块。。
如果少了的话,当然让他加上。。只是我也不能确定加上了就起作用。。

如果不明白的话,请补充问题,希望我能帮到你。
如果这对你有帮助话,请将此标为最佳答案,谢谢。

7. c#mvc访问ftp上的文件

当前时间: Server.HtmlEncode(DateTime.Now.ToString());

当前请求的虚拟路径滚御拍: Server.HtmlEncode(Request.CurrentExecutionFilePath);
获拆卖取当前应用程序的根目录路径: Server.HtmlEncode(Request.ApplicationPath);

当前请求的虚拟路径: Server.HtmlEncode(Request.FilePath);

当前请求的虚拟路径: Server.HtmlEncode(Request.Path);

获取当前正在执行的应用程序的根目录的物理文件系统路径: Server.HtmlEncode(Request.PhysicalApplicationPath);

获取与请求的大羡 URL 相对应的物理文件系统路径: Server.HtmlEncode(Request.PhysicalApplicationPath);

8. C#用代码要实现点击按钮把选好的xml文件上传到FTPweb,FTP已经配置好了

如果FTP设置好了,那么只需要解决本地文件往FTP上传这个问题。
//完整的C#操作FTP文件野粗的例子分念脊拦享给你
//http://wenku..com/view/e5c8ecfffab069dc502201ae.html。
//例子比较全面,但是太长了,不方便粘贴给你。
//首先仔胡,在例子中找到这句话(ftpUpDown.Upload("c:\\57070.pdf");)的所在位置
//然后,将刚才找到的那句话,替换成下面的这几句话。
//赶快去看看吧!
System.Windows.Forms.OpenFileDialog mFile = new System.Windows.Forms.OpenFileDialog();
if (mFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ftpUpDown.Upload(mFile.FileName);
}

9. 刚刚申请的空间 登上ftp后 有aspnet_client文件夹 想问一下这个文件夹是干嘛的

不需要,一般情况下,网站空间内会有public_html文件夹或者web文件夹或者www文件夹,将网站上传到这个文件夹的根目录即可。或者你可以截图,来让大家给你分析应该上传到哪个文件夹。
===已经解决了,不用理会那个aspnet_client文件夹,直接上传到根目录即可。

10. 我要用asp.net写一个视频上传的代码,可是不知道该怎么写 麻烦知道的帮帮忙哦 谢谢了的

我给你介绍两个上传大文件的组件

Lion.Web.UpLoadMole和AspnetUpload

自己镇升上网搜索一下,不建议用这些插件,建议直接用睁拦ftp上传,如果客户非要这样做也没办法,呵呵,不如ftp快

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快悉旅胡!

热点内容
安卓手机如何有苹果的emoji 发布:2025-02-09 02:11:02 浏览:807
编译原理已知语言求文法习题 发布:2025-02-09 02:05:15 浏览:131
中国首个具有世界影响力的编译器 发布:2025-02-09 01:56:21 浏览:719
tomcat上传超时 发布:2025-02-09 01:41:42 浏览:483
androidactivity竖屏 发布:2025-02-09 01:41:40 浏览:377
家庭配置怎么合理 发布:2025-02-09 01:36:14 浏览:807
头条军事源码 发布:2025-02-09 01:31:53 浏览:997
androidintent视频 发布:2025-02-09 01:31:43 浏览:858
欧姆龙plc密码如何设置 发布:2025-02-09 01:24:31 浏览:687
php支持jpeg 发布:2025-02-09 01:24:22 浏览:804