❶ 如何區分哪個上載控制項上傳的附件
在界面上使用FileUpload控制項時,最好在此控制項後面添加一個保存按鈕,在按鈕中處理上傳控制項中的文件。 當用戶點擊按鈕,觸發按鈕事件時,首先判斷上傳控制項中是否選擇了文件 if (FileUpload1.HasFile) { ... }//在文件被選擇的情況下,才進行處理,基本上所有的處理代碼都可以寫在這個IF中。未選擇文件就忽略,不做處理。 string fileName = FileUpload1.FileName;//獲取文件名 string filepath = FileUpload1.PostedFile.FileName;//獲取文件客戶端路徑 //讀取上傳文件到內存中 Stream stm = FileUpload1.FileContent; StreamReader sr = new StreamReader(stm); string buffer = sr.ReadToEnd();//讀取流的當前位置到末尾 string[] fileLine = buffer.Split((char)0x0d);//根據換行分隔,存入到數組 也可以把上傳文件從客戶端保存到服務端 filePath = @"D:\upload\fileName.xls"; //保存至服務端的地址 FileUpload1.PostedFile.SaveAs(filePath);//進行文件的保存處理
❷ C# 一個控制項上傳多張圖片,求具體實現方法
主程序功能實現,詳細功能見附件,內容太多。
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
/// <summary>
/// FileUpload1.HasFile 如果是true,則表示該控制項有文件要上傳
/// FileUpload1.FileName 返回要上傳文件的名稱,不包含路徑信息
/// FileUpload1.FileContent 返回一個指向上傳文件的流對象
/// FileUpload1.PostedFile 返回已經上傳文件的引用
/// FileUpload1.PostedFile.ContentLength 返回上傳文件的按位元組表示的文件大小
/// FileUpload1.PostedFile.ContentType 返回上傳文件的MIME內容類型,也就是文件類型,如返回"image/jpg"
/// FileUpload1.PostedFile.FileName 返迴文件在客戶端的完全路徑(包括文件名全稱)
/// FileUpload1.PostedFile.InputStream 返回一個指向上傳文件的流對象
/// FileInfo對象表示磁碟或網路位置上的文件。提供文件的路徑,就可以創建一個FileInfo對象:
/// </summary>
public partial class BackManagement_ImagesUpload : System.Web.UI.Page
{
public string treePath = "";
public int imageW = 100;
public int imageH = 100;
protected void Page_Load(object sender, EventArgs e)
{
this.Button5.Attributes.Add("Onclick", "window.close();"); //在本地關閉當前頁,而不需要發送到伺服器去關閉當前頁時
if (!Page.IsPostBack)
{
Label2.Text = Server.MapPath("/");
TextBox3.Text = "ImageUpload";
treePath = Server.MapPath("/") + TextBox3.Text.Trim() + "/";
TextBox4.Text = imageW.ToString();
TextBox5.Text = imageH.ToString();
}
}
protected void btnload_Click(object sender, EventArgs e)
{
//如果保存圖片的目錄不存在,由創建它
treePath = Server.MapPath("/") + TextBox3.Text.Trim() + "/";
imageW = Convert.ToInt32(TextBox4.Text.ToString());
imageH = Convert.ToInt32(TextBox5.Text.ToString());
if (!File.Exists(treePath + "images")) //如果/ImageUpload/images不存在,則創建/ImageUpload/images,用於存放源圖片
{
System.IO.Directory.CreateDirectory(treePath + "images");
}
if (!File.Exists(treePath + "thumbnails")) //如果/ImageUpload/thumbnails不存在,則創建/ImageUpload/thumbnails,用於存放縮略圖片
{
System.IO.Directory.CreateDirectory(treePath + "thumbnails");
}
if (!File.Exists(treePath + "textImages")) //如果/ImageUpload/textImages不存在,則創建/ImageUpload/textImages,用於存文字水印圖片
{
System.IO.Directory.CreateDirectory(treePath + "textImages");
}
if (!File.Exists(treePath + "waterImages")) //如果/ImageUpload/waterImages不存在,則創建/ImageUpload/waterImages
//用於存圖形水印圖片
{
System.IO.Directory.CreateDirectory(treePath + "waterImages");
}
if (FileUpload1.HasFile) //如果是true,則表示該控制項有文件要上傳
{
string fileContentType = FileUpload1.PostedFile.ContentType;
if (fileContentType == "image/bmp" || fileContentType == "image/gif" || fileContentType == "image/pjpeg")
{
string name = FileUpload1.PostedFile.FileName; //返迴文件在客戶端的完全路徑(包括文件名全稱)
FileInfo file = new FileInfo(name); //FileInfo對象表示磁碟或網路位置上的文件。提供文件的路徑,就可以創建一個FileInfo對象:
string fileName = file.Name; // 文件名稱
string fileName_s = "x_" + file.Name; // 縮略圖文件名稱
string fileName_sy = "text_" + file.Name; // 水印圖文件名稱(文字)
string fileName_syp = "water_" + file.Name; // 水印圖文件名稱(圖片)
string webFilePath = treePath + "images/" + fileName; // 伺服器端文件路徑
string webFilePath_s = treePath + "thumbnails/" + fileName_s; // 伺服器端縮略圖路徑
string webFilePath_sy = treePath + "textImages/" + fileName_sy; // 伺服器端帶水印圖路徑(文字)
string webFilePath_syp = treePath + "waterImages/" + fileName_syp;// 伺服器端帶水印圖路徑(圖片)
string webFilePath_sypf = Server.MapPath("../images/tzwhx.png"); // 伺服器端水印圖路徑(圖片)
if (!File.Exists(webFilePath))
{
try
{
FileUpload1.SaveAs(webFilePath); // 使用 SaveAs 方法保存文件
if (CheckBox1.Checked) //是否生成文字水印圖
{
AddWater(webFilePath, webFilePath_sy);
}
if (CheckBox2.Checked) //是否生成圖形水印圖
{
AddWaterPic(webFilePath, webFilePath_syp, webFilePath_sypf);
}
MakeThumbnail(webFilePath, webFilePath_s, imageW, imageH, "Cut"); // 生成縮略圖方法
Label1.Text = "提示:文件「" + fileName + "」成功上傳,並生成「" + fileName_s + "」縮略圖,文件類型為:" + FileUpload1.PostedFile.ContentType + ",文件大小為:" + FileUpload1.PostedFile.ContentLength + "B";
Image1.ImageUrl = "/" + TextBox3.Text.ToString() + "/images/" + fileName;
TextBox1.Text = webFilePath;
TextBox2.Text = "/" + TextBox3.Text.ToString() + "/images/" + fileName;
}
catch (Exception ex)
{
Label1.Text = "提示:文件上傳失敗,失敗原因:" + ex.Message;
}
}
else
{
Label1.Text = "提示:文件已經存在,請重命名後上傳";
}
}
else
{
Label1.Text = "提示:文件類型不符";
}
}
}
❸ 上傳視頻要下載控制項怎麼安裝控制項
其實就是讓你下載電腦版騰訊視頻 然後就可以傳了 不過最大也只能4G
❹ 關於FileUpload控制項上傳文件大小限制問題
默認上傳文件大小4096KB,如果要上傳超過此大小的文件,會出現錯誤界面。可以對web.config文件做一下配置,就可以解決,解決方法如下:
1、首先創建一個名稱為 file_value 的html文件。
❺ jquery如何獲取input(file)控制項上傳的圖片名稱
$('input').on('change',function(){
var value = $(this).val();
value = value.split("\")[2];
})
value 就是圖片名稱。因為瀏覽器安全機制 獲取到的value都是C:fakepath 加上圖片名,所以可以用這個方式獲取
❻ net網站在vs中怎麼用上傳文件控制項
打開vs2008開發的.net網站,打開要添加上傳文件功能的.aspx文件,並切換到.aspx文件的設計視圖
打開工具箱,點開「標准」,找到「FileUpload」控制項
左鍵點擊「FileUpload」控制項不放,拖動到.aspx頁面中,在要放置上傳功能的地方再松開滑鼠,這時可以看到下圖的控制項
「FileUpload」控制項是瀏覽文件來上傳,還需要一個控制項來觸發把文件上傳到伺服器的操作,可以用一個按鈕控制項。在工具欄上,左鍵點擊Button控制項不放,拖動到.aspx文件中。
切換到.aspx的「源」視圖,可以看到剛才拖動到頁面的兩個控制項,請記下上傳文件控制項的id
切換到.aspx文件的「設計」視圖,雙擊按鈕進入到按鈕的後台事件方法中。在下圖的紅框處就可以書寫把文件上傳到伺服器的代碼了
下圖僅做一個簡單的例子,表明FileUpload控制項已經把文件上傳到了網站後台,如紅框代碼所示。在實際應用中,此處可以調用上傳到ftp伺服器的方法。
運行網站,點擊瀏覽按鈕,上傳一個文件
選擇一個文件,比如下圖的"會議.txt"。點擊「打開」按鈕
這時可以看到文件路徑顯示在FileUpload控制項中,點擊按鈕
❼ html5文件上傳控制項的button樣式怎麼修改
你直接將它隱藏,然後自己寫一個button。
給這個button加點擊事件。
點擊事件中在通過JS去觸發上傳文件控制項的點擊事件就可以了。
❽ 用fileupload控制項上傳文件怎樣使上傳的文件顯示在指定的位置
朋友,比如你的 fileupload控制項 ID 為 fileupload1的話,就這樣
fileupload1.SaveAs(Server.MapPath("~/")+FileName)
"~/"就是當前目錄 FileName 就是你的文件名
或者這樣
fileupload1.SaveAs(@「f:\」+"文件名")
❾ 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);
}
}