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文件。