我可以使用以下C代码将文件上载到azure blob存储,
// Retrieve storage account from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("StorageKey");
// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve reference to a previously created container.
CloudBlobContainer container =
blobClient.GetContainerReference("mycontainer");
// Retrieve reference to a blob named "myblob".
CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob");
// Create or overwrite the "myblob" blob with contents from a local file.
using (var fileStream = System.IO.File.OpenRead(@"path\myfile"))
{
blockBlob.UploadFromStream(fileStream);
}
这里我提供blob存储连接字符串和容器名称。
现在,我可以看到我在Container Properties
下有URL,
https://test.blob.core.windows.net/containerId
问题,我可以编写C代码,使用上面的URL上传文件,而不是使用连接字符串/容器名称吗?
不,你不能,原因很简单:/
是容器名称的有效字符。例如:您可以将容器命名为my容器/文件夹/subFolder
但事实证明,Firebase无法从服务器端上传文件,正如它在文档中明确说明的那样: Firebase存储不包括在服务器端Firebase npm模块中。相反,您可以使用gcloud Node.js客户机。 我的第二次尝试是使用库,就像文档中提到的:
我正在尝试使用邮差上传一个文件。我已经通过点击“body”(在postman中)->二进制->选择文件附加了文件。我使用S3上载预签名的URL。在url中,文件的名称与我在Postman中选择的文件的名称完全相同。运行请求时,我得到一个错误: 但是,通过导出postman请求(通过单击“Code”)来获得curl命令,我得到了: 并添加一个用于上载文件的附加选项:
正如代码中所解释的那样,我需要这样做来防止连续两次更新项目照片的情况,因为第一次更新太快而无法完成上传。我最终得到了2个文件-其中一个没有从任何地方引用。如果我可以做类似的事情,第二次上传将转到我的“更新”情况(而不是这里提供的“新照片”情况)-在那里文件将被正确地切换。
我正在IIS服务器上使用网站面板。我想使用ftp上载文件 我使用了以下代码: 这段代码运行没有错误。当我使用网站面板的文件管理器时,一个文件创建了“Name.ext”,但这个文件大小是0 KB。为什么?我有什么问题?! 我确信windows防火墙允许我这么做。 更新:我正在使用UploadFileTask和UploadFile(unasync)进行操作,但结果与async相同:(
在Java Spring Boot中,我可以使用firebase admin sdk获取已签名的url。 但是我需要在JavaSpring Boot中获得下载url而不是签名url,如下面的代码所示。 我无法在JavaSpring中添加Firebase存储sdk,只能移动。 https://mvnrepository.com/artifact/com.google.firebase/firebas