diff --git a/dotnet/src/dotnetframework/GxClasses/Helpers/GXRestUtils.cs b/dotnet/src/dotnetframework/GxClasses/Helpers/GXRestUtils.cs index b8ffa60af..f2198a30d 100644 --- a/dotnet/src/dotnetframework/GxClasses/Helpers/GXRestUtils.cs +++ b/dotnet/src/dotnetframework/GxClasses/Helpers/GXRestUtils.cs @@ -31,7 +31,7 @@ internal static bool IsUploadURL(HttpContext httpContext) } internal static void CacheUploadFile(string fileGuid, string realFileName, string realFileExtension, GxFile temporalFile, IGxContext gxContext) { - CacheAPI.FilesCache.Set(fileGuid, JSONHelper.Serialize(new UploadCachedFile() { path = temporalFile.GetAbsoluteName(), fileExtension = realFileExtension, fileName = realFileName }), GxRestPrefix.UPLOAD_TIMEOUT); + CacheAPI.FilesCache.Set(fileGuid, JSONHelper.Serialize(new UploadCachedFile() { path = temporalFile.GetURI(), fileExtension = realFileExtension, fileName = realFileName }), GxRestPrefix.UPLOAD_TIMEOUT); GXFileWatcher.Instance.AddTemporaryFile(temporalFile, gxContext); } internal static string GetUploadFileGuid() diff --git a/dotnet/src/dotnetframework/Providers/Storage/GXAmazonS3/ExternalProviderS3.cs b/dotnet/src/dotnetframework/Providers/Storage/GXAmazonS3/ExternalProviderS3.cs index c7a26cd14..7a7aad213 100644 --- a/dotnet/src/dotnetframework/Providers/Storage/GXAmazonS3/ExternalProviderS3.cs +++ b/dotnet/src/dotnetframework/Providers/Storage/GXAmazonS3/ExternalProviderS3.cs @@ -357,11 +357,13 @@ private S3CannedACL GetCannedACL(GxFileType acl) public string Upload(string fileName, Stream stream, GxFileType destFileType) { + MemoryStream ms = new MemoryStream(); + stream.CopyTo(ms);//can determine PutObjectRequest.Headers.ContentLength. Avoid error Could not determine content length PutObjectRequest objectRequest = new PutObjectRequest() { BucketName = Bucket, Key = fileName, - InputStream = stream, + InputStream = ms, CannedACL = GetCannedACL(destFileType) }; if (TryGetContentType(fileName, out string mimeType)) {