fileupload上传视频
❶ 使用asp.net的fileupload上传视频文件--保存在数据库里面,
if (this.FileUpload.HasFile)
{
string fileExt = (System.IO.Path.GetExtension(FileUpload.FileName)).ToLower();
if (fileExt == ".wmv" || fileExt == ".avi")
{
FileUpload.SaveAs(Server.MapPath(FileUpload.FileName));
//把文件信息存到数据库里
}
}
但是一般的服务器上传文件有大小限制的。不建议你用FileUpload上传视频文件。
❷ fileupload如何上传视频
Web.Config配置文件中,在system.web节里加上:
<httpRuntime maxRequestLength="2097151" executionTimeout="60"/>
❸ spring 做一个视频上传的功能要怎么做呢要怎么存入数据库的,求大神给思路和实现代码
这个问题还是比较简单的,先给你一个思路,把视频文件通过<input type=file>进行提交到服务端,注意要是post请求,并且以流的方式提交,比如:<form method="post" action="xxx" enctype="multipart/form-data">,之后再服务端以流的方式接收,我们一般要用到两个jar包,commons-fileupload-1.2.1.jar和commons-io.jar,然后将接收到的文件写到一个文件夹里面,同时将这个视频文件的名称存到数据库,自己可以先想想,要是还不懂,可以再问我,
❹ 如何用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);
}
❺ 使用fileupload上传文件时一定要设置临时路径和缓存吗
你是用io流来读写数据,那么内部肯定要为了效率使用Buffer包装流来缓存吧,假如现在要上传一个电影2g,你不设置缓存一次性上传整个文件,java虚拟机内存总共就那么大点(一般不设置只有64M)肯定要爆,平时的小Demo都只有几kb肯定不用缓存也行啦!
❻ asp.net中FileUpload控件上传问题
什么叫做传另外一个又变成31.2K的文件? 问题是什么? 上代码吧,才知道具体情况
❼ 怎样使用javaweb实现上传视频和下载功能
文件上传就是将客户端资源,通过网路传递到服务器端。
因为文件数据比较大,必须通过文件上传才可以完成将数据保存到数据库端的操作。
文件上传的本质就是IO流操作。
演示:文件上传应该如何操作?
浏览器端:
1.method=post 只有post才可以携带大数据
2.必须使用<input type='file' name='f'>要有name属性
3.encType="multipart/form-data"
服务器端:
request对象是用于获取请求信息。
它有一个方法 getInputStream(); 可以获取一个字节输入流,通过这个流,可以读取到
所有的请求正文信息.
文件上传原理:
浏览器端注意上述三件事,在服务器端通过流将数据读取到,在对数据进行解析.
将上传文件内容得到,保存在服务器端,就完成了文件上传。
注意:在实际开发中,不需要我们进行数据解析,完成文件上传。因为我们会使用文件上传的工具,它们已经封装好的,提供API,只要调用它们的API就可以完成文件上传操作.我们使用的commons-fileupload,它是apache提供的一套开源免费的文件上传工具。
代码演示文件上传的原理:
在WebRoot下新建upload1.jsp
[html]view plain
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<title>MyJSP'index.jsp'startingpage</title>
</head>
<body>
<!--encType默认是application/x-www-form-urlencoded-->
<formaction="${pageContext.request.contextPath}/upload1"
method="POST"enctype="multipart/form-data">
<inputtype="text"name="content"><br>
<inputtype="file"name="f"><br><inputtype="submit"
value="上传">
</form>
</body>
</html>
packagecn.itcast.web.servlet;
importjava.io.IOException;
importjava.io.InputStream;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//System.out.println("upload1servlet......");
//通过request获取一个字节输入流,将所有的请求正文信息读取到,打印到控制台
InputStreamis=request.getInputStream();
byte[]b=newbyte[1024];
intlen=-1;
while((len=is.read(b))!=-1){
System.out.println(newString(b,0,len));
}
is.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
在web页面中添加上传输入项。
在Servlet中读取上传文件的数据,并保存在服务器硬盘中。
1、必须设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。
2、必须把form的encType属性设为multipart/form-data 设置该值后,浏览器在上传文件时,并把文件数据附带在http请求消息体内,并使用MIME协议对上传的文件进行描述,以方便接收方对上传数据进行解析和处理。
3、表单的提交方式要设置为post。
Request对象提供了一个getInputStream方法,通过这个方法可以读取到客户端提交过来的数据。但由于用户可能会同时上传多个文件,在servlet端编程直接读取上传数据,并分别解析出相应的文件数据是一项非常麻烦的工作,示例。
为方便用户处理文件上传数据,Apache 开源组织提供了一个用来处理表单文件上传的一个开源组件( Commons-fileupload ),该组件性能优异,并且其API使用极其简单,可以让开发人员轻松实现web文件上传功能,因此在web开发中实现文件上传功能,通常使用Commons-fileupload组件实现。
使用Commons-fileupload组件实现文件上传,需要导入该组件相应支撑jar包:Commons-fileupload和commons-io。commo-io不属于文件上传组件的开发jar文件,但Commons-fileupload组件从1.1版本开始,它工作时需要commons-io包的支持。
新建Upload1Servlet 路径:/upload1
[java]view plain
在浏览器端访问信息如下:
文件上传概述
实现web开发中的文件上传功能,需要完成如下二步操作:
如何在web页面中添加上传输入项?
<input type="file">标签用于在web页面中添加文件上传输入项,设置文件上传输入项时注意:
如何在Servlet中读取文件上传数据,并保存到本地硬盘中?
❽ java 项目开发 实现上传视频。
上传视频?只是上传的话,相当于,上传文件了
html如下
<form action="MultipartTestServlet" enctype="multipart/form-data" method="post">
<input type="text" name="username" /><br />
<input type="file" name="myfile" /><br/>
<input type="submit" />
</form>
java如下
MultipartTestServlet.java
package com.bug.servlet;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.RequestContext;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;
public class MultipartTestServlet extends HttpServlet {
public MultipartTestServlet() {
super();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gbk");
RequestContext requestContext = new ServletRequestContext(request);
if(FileUpload.isMultipartContent(requestContext)){
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File("c:/tmp/"));
ServletFileUpload upload = new ServletFileUpload(factory);
//upload.setHeaderEncoding("gbk");
upload.setSizeMax(2000000);
List items = new ArrayList();
try {
items = upload.parseRequest(request);
} catch (FileUploadException e1) {
System.out.println("文件上传发生错误" + e1.getMessage());
}
Iterator it = items.iterator();
while(it.hasNext()){
FileItem fileItem = (FileItem) it.next();
if(fileItem.isFormField()){
System.out.println(fileItem.getFieldName() + " " + fileItem.getName() + " " + new String(fileItem.getString().getBytes("iso8859-1"), "gbk"));
}else{
System.out.println(fileItem.getFieldName() + " " +
fileItem.getName() + " " +
fileItem.isInMemory() + " " +
fileItem.getContentType() + " " +
fileItem.getSize());
if(fileItem.getName()!=null && fileItem.getSize()!=0){
File fullFile = new File(fileItem.getName());
File newFile = new File("c:/temp/" + fullFile.getName());
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
}else{
System.out.println("文件没有选择 或 文件内容为空");
}
}
}
}
}
}
web.xml中加入
<servlet>
<servlet-name>MultipartTestServlet</servlet-name>
<servlet-class>com.bug.servlet.MultipartTestServlet</servlet-class>
</servlet>
需要的包到这三个地方下载
http://jakarta.apache.org/commons/fileupload/下载
http://jakarta.apache.org/commons/io/下载
在http://www.servlets.com/cos/下载
关于视频的播放,你只能自己再去找了
❾ fileupload本地上传文件怎么实现啊 怎么总是上传不成功啊 求
前台<form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server"> </asp:FileUpload> <br /> <asp:Button ID="UploadButton" Text="上传文件" OnClick="UploadButton_Click" runat="server"> </asp:Button> <br /> <asp:Label ID="UploadStatusLabel" runat="server"> </asp:Label> </div> </form> 后台protected void UploadButton_Click(object sender, EventArgs e) { //上传文件保存的文件夹 string savePath = @"c:\uploads\"; //判断上传文件保存的文件夹是否存在 if (!Directory.Exists(savePath)) { //创建一个savePath文件夹 Directory.CreateDirectory(savePath); } if (FileUpload1.HasFile) { //获取要上传的文件名称 string fileName = FileUpload1.FileName; //获取要上传文件保存的完整路径 savePath += fileName; //执行文件上传操作 FileUpload1.SaveAs(savePath); UploadStatusLabel.Text = "你上传的文件保存在:" + savePath; } else { UploadStatusLabel.Text = "你没有指定要上传的文件。
❿ 关于FileUpload控件上传文件大小限制问题
默认上传文件大小4096KB,如果要上传超过此大小的文件,会出现错误界面。可以对web.config文件做一下配置,就可以解决,解决方法如下:
1、首先创建一个名称为 file_value 的html文件。