上传图片并生成缩略图问题

FeelTouch Labs
博客专家认证
2009-08-02 10:43:41
我已经实现上传图片并生成缩略图,并且把原图片的路径和缩略图的路径保存到数据库,但是实现的每次上传只是一张,我想在上传那儿加个继续添加(或者全部添加按钮),实现批量上传.不知道这个时间该怎么写?另外,还想问我这样努力去实现有没有必要(我的意思是找个批量缩略工具,批量生成,并把路径导入到数据库),网站没有特别要求按第一种方法实现.并推荐一种生成缩略图清晰度较高的软件.谢谢.在线交流!如需要我会把我的代码贴上
...全文
283 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
newdigitime 2009-08-02
  • 打赏
  • 举报
回复
用swfupload组件.
或者你直接放多个fileupload控件,然后点上传全部上传.
后台接收用Fore each
phoebuswei 2009-08-02
  • 打赏
  • 举报
回复
foreach 也是一张张传啊
用个ajax不就能同时提交多个了吗
xujiie 2009-08-02
  • 打赏
  • 举报
回复
using System.Collections.Generic;

//这里可以存放一组FileUpload控件
List<FileUpload> fileuploads = new List<FileUpload>();

然后用

foreach (FileUpload var in fileuploads)
{
//上传
}
FeelTouch Labs 2009-08-02
  • 打赏
  • 举报
回复
6楼的能把代码贴出来吗?或者关键部分写一下,谢谢
xujiie 2009-08-02
  • 打赏
  • 举报
回复
用泛型保存批量上传的UploadFile..

然后用FOREACH循环上传
FeelTouch Labs 2009-08-02
  • 打赏
  • 举报
回复
有很多这样的标题,但每次还是上传一张
chen_ya_ping 2009-08-02
  • 打赏
  • 举报
回复
网上肯定有批量上传图片的代码,楼主可以参考一下。
FeelTouch Labs 2009-08-02
  • 打赏
  • 举报
回复
你们觉得我自己写代码有没有必要?具体意见
  • 打赏
  • 举报
回复
mark kan gaoshou
shinlgienls 2009-08-02
  • 打赏
  • 举报
回复
百度 SignPics.exe

这个软件就可以实现批量功能,
FeelTouch Labs 2009-08-02
  • 打赏
  • 举报
回复
谢谢,你们的回答,有用或者没有的,好使了
FeelTouch Labs 2009-08-02
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 liuxibei1987 的回复:]
生成缩略图没做过,批量上传的话,做过一个这样的
页面有个添加按钮,点击一次页面会增加一个fileupload控件
点击多少次就增加多少个,然后可以同时上传,虽然说的是同时上传,
但是在代码里面还是用个循环一张一张的上传的
[/Quote]能把你的代码写出来吗?我就是不会这个事件
FeelTouch Labs 2009-08-02
  • 打赏
  • 举报
回复
13楼的这个很容易
if (!File.Exists(webFilePath)){
try
{
FileUpload1.SaveAs(webFilePath);
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 = "提示:文件类型不符";
}
提示提示文件名已存在不再上传
wuyq11 2009-08-02
  • 打赏
  • 举报
回复
动态添加上传控件,实现多文件上传
function AddFile()
{
var strFile="<input name=\"upload\" type='file' class='inputText' style='WIDTH:350px;'/><br/>";
document.getElementById("td_uploadFile").insertAdjacentHTML("beforeEnd",strFile);
}
<td id="td_uploadFile" align="center">
<input id="upload_Attachment" name="upload" type="file" class="inputText"
style="width: 350px; display:none;" runat="server" />
</td>


HttpFileCollection Files = HttpContext.Current.Request.Files;
for (int i = 0; i < Files.Count; i++)
{

HttpPostedFile PostedFile = Files[i];
if (PostedFile.ContentLength > 0)
{}
}
mxc1225 2009-08-02
  • 打赏
  • 举报
回复
恩!谢了!我在试试看!
liuxibei1987 2009-08-02
  • 打赏
  • 举报
回复
对,就是当前时间,这样避免重复
mxc1225 2009-08-02
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 liuxibei1987 的回复:]
这个我做这个时保存进数据库会用两个字段,第一个字段是图片的标签用图片的原来的名称,然后第二个字段
就是图片的名称了,我会重新命名一下比如当前时间+图片大小之类的,避免重复
[/Quote]
你是将图片的上传时间也一起保存下来作为那张图片的唯一标识是吗!?
liuxibei1987 2009-08-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mxc1225 的回复:]
或者说,你之前上传了一张1.jpg
后面又是一张1.jpg但是他们不是一张相同的图片!您是覆盖了之前的那张,还是重命名了后面的那张啊!?
我不知道怎么判断!我每次都会把前面的那张覆盖掉!
[/Quote]
这个我做这个时保存进数据库会用两个字段,第一个字段是图片的标签用图片的原来的名称,然后第二个字段
就是图片的名称了,我会重新命名一下比如当前时间+图片大小之类的,避免重复
liuxibei1987 2009-08-02
  • 打赏
  • 举报
回复
生成缩略图没做过,批量上传的话,做过一个这样的
页面有个添加按钮,点击一次页面会增加一个fileupload控件
点击多少次就增加多少个,然后可以同时上传,虽然说的是同时上传,
但是在代码里面还是用个循环一张一张的上传的
mxc1225 2009-08-02
  • 打赏
  • 举报
回复
或者说,你之前上传了一张1.jpg
后面又是一张1.jpg但是他们不是一张相同的图片!您是覆盖了之前的那张,还是重命名了后面的那张啊!?
我不知道怎么判断!我每次都会把前面的那张覆盖掉!
加载更多回复(2)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧