‘壹’ 如何上传文件
FTP(File Transfer Protocol)是 Internet 上用来传送文件的协议(文件传输协议)。它是为了我们能够在 Internet 上互相传送文件而制定的的文件传送标准,规定了 Internet 上文件如何传送。也就是说,通过 FTP 协议,我们就可以跟 Internet 上的 FTP 服务器进行文件的上传(Upload)或下载(Download)等动作。
和其他 Internet 应用一样,FTP 也是依赖于客户程序/服务器关系的概念。在 Internet 上有一些网站,它们依照 FTP 协议提供服务,让网友们进行文件的存取,这些网站就是 FTP 服务器。网上的用户要连上 FTP 服务器,就要用到 FPT 的客户端软件,通常 Windows 都有“ftp”命令,这实际就是一个命令行的 FTP 客户程序,另外常用的 FTP 客户程序还有 CuteFTP、Ws_FTP、FTP Explorer等。
要连上 FTP 服务器(即“登陆”),必须要有该 FTP 服务器的帐号。如果是该服务器主机的注册客户,你将会有一个 FTP 登陆帐号和密码,就凭这个帐号密码连上该服务器。但 Internet 上有很大一部分 FTP 服务器被称为“匿名”(Anonymous)FTP 服务器。这类服务器的目的是向公众提供文件拷贝服务,因此,不要求用户事先在该服务器进行登记注册。
Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“anonymous”和“guest”就可有限制地访问远程主机上公开的文件。现在许多系统要求用户将Emai1地址作为口令,以便更好地对访问进行跟综。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载(download)文件,而不允许上载(upload)文件。也就是说,用户只能从匿名FTP主机拷贝需要的文件而不能把文件拷贝到匿名FTP主机。另外,匿名FTP主机还采用了其他一些保护措施以保护自己的文件不至于被用户修改和删除,并防止计算机病毒的侵入。在具有图形用户界面的 WorldWild Web环境于1995年开始普及以前,匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名PTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息,数据和软件。 人们只要知道特定信息资源的主机地址, 就可以用匿名FTP登录获取所需的信息资料。虽然目前使用WWW环境已取代匿名FTP成为最主要的信息查询方式,但是匿名FTP仍是 Internet上传输分发软件的一种基本方法。
全有网推荐两款比较实用方便的FTP工具:Cutftp【CuteFTP Pro V7.1 Build 06.07.2005.1 官方简体中文包下载地址:http://www4.skycn.com/soft/15789.html】FlashFtp【FlashFXP V3.2.0.1080 汉化版(烈火版)下载地址:http://www4.skycn.com/soft/22415.html】
‘贰’ html input标签 file类型,上传的具体是什么东西
没有什么限制,图片和文档都可以。
但如果你要限制文件类型也是可以的。
请参考这里:http://blog.csdn.net/wclxyn/article/details/7090575/
‘叁’ <input type="file">怎么样实现上传
1、首先,你要对form表单设置下相关属性,增加如下属性:
enctype="multipart/form-data" action="接收上传文件的后台处理URL" method="post"
<formenctype="multipart/form-data"action=""method="post">
<inputtype="file"id="choosefile"/>
<inputtype="file"id="f"style="display:none;"/>
<inputtype="submit"value="上传文件"id="submitBtn"/>
</form>
2、编写接收客户端文件上传的后台代码,即上面提到的“接收上传文件的后台处理URL”的相关代码。
3、当点击上面增加的“上传文件”按钮后,将调用action对应的处理方法进行文件上传
因为不知道你是使用什么语句作为后台程序的运行语句,这里没法给出示例。像很多都有现成的插件。
‘肆’ 如何用fileupload上传文件
/// <summary>上传文件方法
/// 返回文件名
/// </summary>
/// <param name="myFileUpload">上传控件ID</param>
/// <param name="allowExtensions">允许上传的扩展文件名类型,如:string[] allowExtensions = { ".doc", ".xls", ".ppt", ".jpg", ".gif" };</param>
/// <param name="maxLength">允许上传的最大大小,以M为单位</param>
/// <param name="savePath">保存文件的目录,注意是绝对路径,如:Server.MapPath("~/upload/");</param>
public static string Upload(FileUpload myFileUpload, string[] allowExtensions, int maxLength, string savePath)
{
// 文件格式是否允许上传
bool fileAllow = false;
//检查是否有文件案
if (myFileUpload.HasFile)
{
// 检查文件大小, ContentLength获取的是字节,转成M的时候要除以2次1024
if (myFileUpload.PostedFile.ContentLength / 1024 / 1024 >= maxLength)
{
throw new Exception("只能上传小于" + maxLength + "M的文件!");
}
//取得上传文件之扩展文件名,并转换成小写字母
string fileExtension = System.IO.Path.GetExtension(myFileUpload.FileName).ToLower();
string tmp = ""; // 存储允许上传的文件后缀名
//检查扩展文件名是否符合限定类型
for (int i = 0; i < allowExtensions.Length; i++)
{
tmp += i == allowExtensions.Length - 1 ? allowExtensions[i] : allowExtensions[i] + ",";
if (fileExtension == allowExtensions[i])
{
fileAllow = true;
}
}
if (fileAllow)
{
try
{
string datedir = DateTime.Now.ToString("yyyyMMdd");
if (!Directory.Exists(savePath + datedir))
{
Directory.CreateDirectory(savePath + datedir);
}
string saveName = Guid.NewGuid() + fileExtension;
string path = savePath + datedir + "/" + saveName;
//存储文件到文件夹
myFileUpload.SaveAs(path);
return datedir + "/" + saveName;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
else
{
throw new Exception("文件格式不符,可以上传的文件格式为:" + tmp);
}
}
else
{
throw new Exception("请选择要上传的文件!");
}
}
调用:
try
{
string proimg = Niunan.Shop.Utility.Tool.Upload(fuimg, new string[] { ".jpg", ".gif", ".png" }, 3, Server.MapPath("~/upload/"));
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
‘伍’ type=file 浏览上传时的文件类型可以自己定义
<script>
function check(){
var filepath=path.value
filepath=filepath.substring(filepath.lastIndexOf('.')+1,filepath.length)
if(filepath != 'jpg' && filepath != 'gif')
alert("只能上传JPG或GIF格式的图片")
}
</script><input type=file name=path onpropertychange="check()"> (只能上传JPG或GIF格式的图片)
‘陆’ file控件怎么上传多个文件
File控件是一个必须结合服务器端功能才能实现的纯客户端控件。
要使得文件上载能够成功,要做到以下几点:
INPUT type=file 元素必须出现在 FORM 元素内。
必须为 INPUT type=file 元素指定 NAME 标签属性的值。
FORM 元素 METHOD 标签属性的值必须设置为 post。
FORM 元素 ENCTYPE 标签属性的值必须设置为 multipart/form-data。
要处理上载到服务器的文件,服务器端进程必须可以处理 multipart/form-data 的提交。例如,Microsoft Posting Acceptor 能够允许 Microsoft Internet Information Server (IIS) 接受文件上载。而在网上也可找到其它的 Common Gateway Interface (CGI) 脚本用于处理 multipart/form-data 提交。
用户选择要上载的文件并提交页面后,该文件作为请求的一部分上载。文件将被完整地缓存在服务器内存中。
File控件一次只能上传一个文件,并且其文件属性值都是只读的。采用File控件同时上传多个文件,实际上是动态生成多个File控件,每选择上传一个文件,隐藏该控件,生成另一个File控件。这里只需要简单的JavaScript技巧既可以实现,所以不做赘述。
以ASP.NET为例,介绍在服务器端所需要进行的处理。
//获取上传文件列表
HttpFileCollection fileCollection = HttpContext.Current.Request.Files;
//逐个上传每个文件
for (int index = 0; index < HttpContext.Current.Request.Files.Count; index++)
{
HttpPostedFile postedFile = HttpContext.Current.Request.Files[index];
filename = postedFile.FileName;
if (postedFile.FileName != "")
{
postedFile.SaveAs(uploadPath);
}
}
‘柒’ 得到文件路径怎么使用file上传
要获取excel的file而不是路径
路径在浏览器中是不确定因素在ie的file标签是可以获取路径的
而用火狐就获取不到
所以不要用路径你应该把form标签设置enctype=multipart/form-data属性
然后在后台接收formfile传过来的东西
用file接一下之后
‘捌’ C#使用HTML文件中的file文件上传 (如何用C#代码接收上传的文件)
凉快,
‘玖’ file怎样上传图片到服务器
首先把XML文件的内容存到数据库里面的某个表
SqlCommand com=new SqlCommand("select * from 表");
com.Commtype=Commtype.text;
然后把SqlCommand传递给WebService
因为对方的webservice接口是需要使用POST方式调用的,然后告诉我POST参数是Command,但是我不是很理解这个Command指的是什么。其他也没有说明,就只有一个接口接入地址和数据格式。
‘拾’ 如何获取file 文件上传是的参数
package servlet;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class upload extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 2654821751525075943L;
private ServletContext sc;
private String savePath;
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username="";
request.setCharacterEncoding("utf-8");
DiskFileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);//专门用来完成文件上传的类
try {
List items=upload.parseRequest(request);//解析请求,返回一个存储了所有表单元素的集合
Iterator it=items.iterator();
while(it.hasNext()){
FileItem item=(FileItem)it.next();
if(item.isFormField()){//如果是普通的文本信息,返回true
username=item.getString("utf-8");
}else{
if(item.getName()!=null&&!item.getName().equals("")){//防止抛出空指针,判断一下是否为空
System.out.println("上传文件的大小:"+item.getSize());
System.out.println("上传文件的类型:"+item.getContentType());
System.out.println("上传文件的名称:"+item.getName());
File temp=new File(item.getName());
File file=new File(sc.getRealPath("/")+savePath,temp.getName());
item.write(file);
HttpSession hs=request.getSession();
hs.setAttribute("path", item.getName());
request.setAttribute("msg", "上传文件成功了");
}else{
request.setAttribute("msg", "上传文件失败了");
}
}
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
request.setAttribute("msg", "上传文件失败了");
}
request.getRequestDispatcher("/result.jsp?username="+username).forward(request, response);
}
/**
* 重写init方法
*/
public void init(ServletConfig config){
savePath=config.getInitParameter("savePath");//获取初始化的参数
sc=config.getServletContext();//获取ServletContext对象,并赋给sc
}
}