Open bogerv opened 6 years ago
我也是这个问题,但是.net framework 版本, using (MemoryStream ms = new MemoryStream()) { img.Save(ms, ImageFormat.Jpeg); client.PutObject(bucketName, Guid.NewGuid().ToString("N") + ".jpg", ms); } 如果将img.save到本地文件再上传是正常的!
files[i].CopyTo(ms); 已经解决。这个东西不好使
请换成 files[i].OpenReadStream
[HttpPost]
public IActionResult xxxxxx(IList
我今天也遇到了这种 改成文件就可以了 用Stream 报错数组越界
在 blazor 中,不能使用文件路径啊,只能使用stream,一直报数组越界,有解决方法吗,我改为官网使用的 异步方式上传,但是上传后为 0 KB,很狗屎,上个周拖到这个周,就搞这个鬼东西
环境: .Net Core 环境下, Aliyun.OSS.dll 版本 2.8.0 具体描述: var files = Request.Form.Files; using (MemoryStream ms = new MemoryStream()) { files[i].CopyTo(ms); PutObjectResult result = _ossClient.PutObject(_ossSettings.Value.BucketName, key, ms); } 如上代码会报 Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: startIndex 错误, 源码调试貌似 Aliyun.OSS.Common.Handlers.Crc64CheckHandler Handle方法中 var sdkCalculatedHash = BitConverter.ToUInt64(stream.CalculatedHash, 0); 此行代码报错, 因为 stream.CalculatedHash的值为 byte[], 不为空但没有值, 长度为0, 所以 Convert 失败, 导致上传不成功 如果将上诉代码的ms换成文件路径则可以成功上传 请问有什么解决办法吗