当前位置:首页 » 文件传输 » net操作blob上传图片
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

net操作blob上传图片

发布时间: 2022-04-27 09:17:13

❶ NET怎么对oracle的blob字段进行写操作

这个很容易理解的
首先创建一个目录:
create or replace directory mydir as 'd:';
declaredest_loc blob;--指定要读入的文件,在mydir目录下的
src_loc bfile := bfilename('MYDIR', 'ace_introe.jpg'); --目录名字一定要大写
amount integer := 4000;begin--插入记录,
同时返回blob的locator
insert into testlobvalues(2,empty_blob()) returning b_l into dest_loc;--打开
bfiledbms_lob.open(src_loc, dbms_lob.lob_readonly);--获得文件长度select dbms_lob.getlength(src_loc) into amount from al;--打开要写入记录的blob
locatordbms_lob.open(dest_loc, dbms_lob.lob_readwrite);--直接把文件load到blob字段
dbms_lob.loadfromfile(dest_loc, src_loc,amount);--关闭相应的locatordbms_lob.close(dest_loc);
dbms_lob.close(src_loc);
commit;
end;
/

上传照片的时候怎样转化为流保存到数据库的字段为BLOB字段中

你把文件的的名称保存到数据库就可以了。
然后在页面上<img scr='Image/<%Eval("数据库图片的字段")#>'
现在是不会把图片什么放到数据库 大家都同时访问的时候读取图片(以二进制流的方式),
希望你能看懂我的话。

❸ .net上传图片和读取图片

using System;
using System.Drawing;
/// <summary>
/// 功能:文件上传
/// </summary>
namespace czlib
{
public class UpFile
{
#region------上传属性-------
private string _path = @"\UpFile\";//上传类型
private string _fileType = czlib.weblib.adminlib.web_up();//上传类型
private int _sizes = 2097152;//传文件的大小KB(2097152=2MB)
private int _W = 120;//宽300
private int _H = 100;//高300
private bool _smaMap = false;//是否生成缩略图
private int _mode = 0;//生成方式
/// <summary>
/// 上传保存路径
/// </summary>
public string Path
{
set
{
_path = @"\" + value + @"\";
}
}
/// <summary>
/// 允许上传大小
/// </summary>
public int Sizes
{
set
{
_sizes = value * 1024;//转为字节byte
}
}
/// <summary>
/// 允许上传类型
/// </summary>
public string FileType
{
set
{
_fileType = value;
}
}
/// <summary>
/// 缩略图宽度
/// </summary>
public int W
{
set { _W = value; }
}
/// <summary>
/// 缩略图高度
/// </summary>
public int H
{
set { _H = value; }
}
public bool smaMap
{
set { _smaMap = value; }
}
/// <summary>
/// 缩略图生成方式
/// </summary>
public int mode
{
set { _mode = value; }
}
#endregion
#region-------上传文件方法------------
/// <summary>
/// 上传文件
/// </summary>
/// <param name="ful">FileUpload控件名称</param>
/// <returns>保存路径</returns>
public string fileSaveAs(System.Web.UI.WebControls.FileUpload ful)
{
try
{
if (ful.PostedFile.ContentLength == 0) { throw new ApplicationException("请选择上传文件!"); }
//LD_2008792347263759274.jpg
System.Random random = new Random();
String modifyFileName = "LD_"+DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + random.Next(1000, 9999);
String uploadFilePath = System.Web.HttpContext.Current.Server.MapPath(".") + _path;
String sourcePath = ful.PostedFile.FileName;
String tFileType = sourcePath.Substring(sourcePath.LastIndexOf(".") + 1);
int strLen = ful.PostedFile.ContentLength;
if (strLen > _sizes)
{
throw new ApplicationException("上传的图片不能大于" + _sizes/1024 + "KB");
}
if (_fileType.IndexOf(tFileType + "|") == -1)
{
throw new ApplicationException("目前本系统只能上传格式为:" + _fileType);
}
//目录是否存在
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(uploadFilePath);
if (!dir.Exists)
{
dir.Create();
}
String filePath = uploadFilePath + modifyFileName + "." + tFileType;
ful.SaveAs(filePath);
if (_smaMap)
{
MakeThumbnail(filePath, uploadFilePath + "small_" + modifyFileName + "." + tFileType);
}
filePath = _path + modifyFileName + "." + tFileType;
return filePath.Replace("\\", "/");
}
catch (Exception ex)
{
throw new ApplicationException("上传时发生错误:" + ex.ToString());
}
}
#endregion
#region---------生成缩略图方法--------------
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">实际路径</param>
/// <param name="thumbnailPath">缩略图存放实际路径</param>
public void MakeThumbnail(String originalImagePath, String thumbnailPath)
{
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath);
int towidth = _W;
int toheight = _H;
int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;
switch (_mode)
{
case 1://指定宽,高按比例
toheight = originalImage.Height * _W / originalImage.Width;
break;
case 2://指定高,宽按比例
towidth = originalImage.Width * _H / originalImage.Height;
break;
case 3://指定高宽裁减(不变形)
if ((double)originalImage.Width / (double)originalImage.Height > (double)towidth / (double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height * towidth / toheight;
y = 0;
x = (originalImage.Width - ow) / 2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width * _H / towidth;
x = 0;
y = (originalImage.Height - oh) / 2;
}
break;
default://指定高宽缩放(可能变形)
break;
}
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow, oh),
GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (System.Exception ex)
{
throw new ApplicationException("成生缩略图错误:" + ex.Message);
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
#endregion
}
} 这是上传并生成缩略图的代码,至于浏览就简单了。自己写写就可以了

❹ C#+Asp.net开发用FileUpload上传图片时遇到以下问题:

我看你下面发的图片,数据库操作应该没出问题吧
然后上传图片的路径
比如/upload/img/1.jpg
你上传前要把这个web相对路径转化成物理的绝对路径再上传
当然数据库保存的是这个相对路径/upload/img/1.jpg

❺ c#.net 图片的上传和保存

string filename = Path.GetFileName(FileUpload1.PostedFile.FileName).ToString();
//制定根路径
string path = Server.MapPath("~/img/");
//利用时间的无重复性对图片命名
string rename = DateTime.Now.ToString("yyyyMMddHHmm_");
//判断是否存在此文件
if (FileUpload1.HasFile)
{
//获取扩展名
string str = Path.GetExtension(FileUpload1.PostedFile.FileName.ToLowerInvariant());
if (str == ".bmp" || str == ".png" || str == ".jpeg" || str == ".gif" || str == ".jpg")
{
if (FileUpload1.PostedFile.ContentLength >= 120000)
{
Response.Write("<script>alert('上传文件不能大于120kb');history.go(-1)</script>");
}
else{
//判断是否存在此路径
if (Directory.Exists(path))
{
FileUpload1.PostedFile.SaveAs(path + rename+filename);
}
else {
Directory.CreateDirectory(path);
FileUpload1.PostedFile.SaveAs(path +rename+ filename);
}
}

}
else{
Response.Write("<script>alert('文件上传格式不正确');history.go(-1)</script>");
}
}
else {
Response.Write("<script>alert('请选择上传文件');history.go(-1)</script>");
}

这个地方只是对图片进行上传,如果要保存到数据库中只需要获取到你图片上传后,图片的名称,然后保存到数据库。

❻ c#做.net网站,怎么将图片上传到服务器指定文件夹下。急请大家回答。

你保存的时候 指定了物理路径 这点肯定不行 需使用Server.MapPath('文件路径') 采用相对路径存储

❼ asp.net 图片上传方面的问题

protected void Button1_Click(object sender, EventArgs e)
{
string picName = Path.GetFileName(this.FileUpload1.PostedFile.FileName);
if (string.IsNullOrEmpty(picName))
{
Page.ClientScript.RegisterStartupScript(typeof(string), "", "<script>alert('请选择图片文件')</script>");
return;
}

if (this.FileUpload1.HasFile)
{
int width = 200;
int height = 200;
System.Drawing.Image imgPhoto = System.Drawing.Image.FromFile(this.FileUpload1.PostedFile.FileName);
if (imgPhoto.Width > width || imgPhoto.Height > height)
{
Session["imgName"] = "";
divImgShow.InnerHtml = "";
Page.ClientScript.RegisterStartupScript(typeof(string), "", "<script>alert('图片尺寸必须小于或等于" + width + "px*" + height + "px')</script>");
return;
}

string imgName = Guid.NewGuid().ToString() + picName.Substring(picName.LastIndexOf('.'), picName.Length - picName.LastIndexOf('.'));
string path = "~/imageLook/" + imgName;
Session["imgName"] = imgName;
this.FileUpload1.SaveAs(Server.MapPath("~/img/")+FileUpload1.FileName);
divImgShow.InnerHtml = "<img src='img/" + FileUpload1.FileName + "' alt=''/>";
}
else
{
Page.ClientScript.RegisterStartupScript(typeof(string), "", "<script>alert('图片格式不正确,应为.jpg|.gif格式')</script>");
return;
}

}
页面
<form id="form1" runat="server">
<div>

<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

</div>
<div id="divImgShow" runat="server"></div>
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
</form>

❽ .NET如何使用OLEDB执行存储过程对BLOB字段进行增加、修改操作

可以将二进制大对象
(BLOB)
作为二进制或字符数据写入数据库,具体视数据源的字段类型而定。若要将
BLOB
值写入数据库,请发出相应的
INSERT

UPDATE
语句并将
BLOB
值作为输入参数传递(请参见将存储过程用于命令)。如果
BLOB
存储为文本格式(如
SQL
Server
text
字段),则可将
BLOB
作为字符串参数传递。如果
BLOB
存储为二进制格式(如
SQL
Server
image
字段),则可将类型
byte
的数组作为二进制参数传递。
注意
BLOB
可能相当大,因此在作为单个值写入时可能要使用大量的系统内存,从而降低应用程序的性能。若要减少写入
BLOB
值时所使用的内存量,可以按“块”将
BLOB
写入数据库。用该方法将
BLOB
写入数据库的过程具体取决于数据源的功能。有关按块将
BLOB
值写入
SQL
Server
的示例,请参见将
BLOB
值写入
SQL
Server
时节省资源。
以下代码示例将员工信息添加到
Northwind
数据库的
Employees
表中。员工照片将从文件中读取并添加到表中的
Photo
字段,该字段为
image
字段。
public
static
void
AddEmployee(
string
lastName,
string
firstName,
string
title,
DateTime
hireDate,
int
reportsTo,
string
photoFilePath,
string
connectionString){
byte[]
photo
=
GetPhoto(photoFilePath);
using
(SqlConnection
connection
=
new
SqlConnection(
connectionString))
SqlCommand
command
=
new
SqlCommand(
"INSERT
INTO
Employees
(LastName,
FirstName,
"
+
"Title,
HireDate,
ReportsTo,
Photo)
"
+
"Values(@LastName,
@FirstName,
@Title,
"
+
"@HireDate,
@ReportsTo,
@Photo)",
connection);
command.Parameters.Add("@LastName",
SqlDbType.NVarChar,
20).Value
=
lastName;
command.Parameters.Add("@FirstName",
SqlDbType.NVarChar,
10).Value
=
firstName;
command.Parameters.Add("@Title",
SqlDbType.NVarChar,
30).Value
=
title;
command.Parameters.Add("@HireDate",
SqlDbType.DateTime).Value
=
hireDate;
command.Parameters.Add("@ReportsTo",
SqlDbType.Int).Value
=
reportsTo;
command.Parameters.Add("@Photo",
SqlDbType.Image,
photo.Length).Value
=
photo;
connection.Open();
command.ExecuteNonQuery();
}}public
static
byte[]
GetPhoto(string
filePath){
FileStream
stream
=
new
FileStream(
filePath,
FileMode.Open,
FileAccess.Read);
BinaryReader
reader
=
new
BinaryReader(stream);
byte[]
photo
=
reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
return
photo;}

❾ asp.net 上传图片,我的做法是先上传到服务器的文件夹images,然后把路径输入到数据库

你最好把上传的代码跟数据绑定的代码贴出来看看。最好的提议是你绑定数据的时候监控一下你所拿到的photoname这个字段的值,很有可能这个字段的值跟你的项目的目录不符,所以才造成图片无法显示

❿ C#/.net怎么把上传的图片保存在指定路径

获取原图文件流
using (Image img = Image.FromStream(file.InputStream)) //file为传入的图片文件
{
// 保存原图
img.Save(HttpContext.Current.Request.MapPath( ”保存的路径“ + "/" + “保存的名称”));
}