开发者社区> 问答> 正文

ASP.NET自己从本地读取的图片Stream上传,总是生成0KB文件

ASP.NET 自己从本地读取的图片Stream上传,总是生成0KB文件。
如果传入的是HttpPostedFileBase.InputStream生成的图片成功。
如果是读取本地的Stream生成的是0kb空文件,代码:
using (MemoryStream stream2 = new MemoryStream())
{
                          Image image = Image.FromFile(HttpContext.Current.Server.MapPath("~/pic/80_80.jpg"));
             image.Save(stream2, ImageFormat.Jpeg);
             // 若返回值,则上传成功
              ObjectMetadata data = new ObjectMetadata();
              data.ContentLength = stream.Length;
              if (ossClient.PutObject(config.BucketName, fileName, stream2, data) != null)
              {
                return config.Url + fileName;
              }
              else
              {
                throw new FileException("图片上传失败!");
              }
}

展开
收起
bingoha 2014-12-02 17:11:46 9630 0
3 条回答
写回答
取消 提交回答
  • ReASP.NET自己从本地读取的图片Stream上传,总是生成0KB文件
    已经解决了,原因如下:
    这个原因是MemoryStream文件指针的当前位置是为文件尾部,需要memoryStream.Seek(0, SeekOrigin.Begin)让文件指针归零
    2014-12-04 08:35:00
    赞同 展开评论 打赏
  • 回 楼主(bingoha) 的帖子
    data.ContentLength = stream.Length;  这句是否设置错误了?
    2014-12-04 00:30:56
    赞同 展开评论 打赏
  • 属性设置,大小是正确的么
    2014-12-03 17:51:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载