Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将图像转换为字符串后,字符串的大小是否与图像的大小相同?_C#_String_Azure - Fatal编程技术网

C# 将图像转换为字符串后,字符串的大小是否与图像的大小相同?

C# 将图像转换为字符串后,字符串的大小是否与图像的大小相同?,c#,string,azure,C#,String,Azure,我上传了一个大小为X的图像,然后我将其转换成一个字符串,我需要将字符串拆分为几个大小为Y的字符串。图像的大小和字符串的大小是一样的吗?我使用javascript进行转换,然后在c#中,我需要拆分字符串,以便通过服务总线连接发送该字符串 我的问题是azure中的服务总线连接只接受256kb的消息,而我的映像大小限制是7MB。此代码适用于小图像 我上传图像并将其转换为字符串: function SaveDocuments() { showModalMessage('Please wa

我上传了一个大小为X的图像,然后我将其转换成一个字符串,我需要将字符串拆分为几个大小为Y的字符串。图像的大小和字符串的大小是一样的吗?我使用javascript进行转换,然后在c#中,我需要拆分字符串,以便通过服务总线连接发送该字符串

我的问题是azure中的服务总线连接只接受256kb的消息,而我的映像大小限制是7MB。此代码适用于小图像

我上传图像并将其转换为字符串:

    function SaveDocuments() {
    showModalMessage('Please wait ...');
    setTimeout(function () { saveDetailstoServer() }, 1000);
}

function saveDetailstoServer() {

    var organization = $("#organization").val()
    var documentsToSave  = ""
    for (var i in documents) {
        //alert(documents[i].name);

         documentsToSave +=   documents[i].toString() + "||"

    }
    organization = organization.replace(/"/g, '└') + "||"
  //  userEmail = "";


    SendDetailsToServer(new Array(new Array("documentsToSave", documentsToSave), new Array("organization", organization), new Array("userEmail", userEmail)));

}

function SendDetailsToServer(parameters) {
    var url = baseUrl + "SaveDocuments";
    var parameterString = ArrayToJson(parameters);
    project_ajax(url, processResponse, null, "POST", parameterString);
}
在我的c#代码中,我将其作为字符串接收,我的目的是发送这个trhough服务总线,但当图像大于200KB时,消息大小太大

namespace OpenIdProviderRole.Services
{
    public class FEUserDocumentationManager : BaseManager
{

    public string SaveDocuments(string documentsToSave, string organization, string userEmail)
    {

        FEInterRoleCommunicator communicator = new FEInterRoleCommunicator();
        string result = communicator.SendCommand<Shared.DTOs.Parameters.SaveDocumentsParameters, string>("SaveDocuments",
               new Shared.DTOs.Parameters.SaveDocumentsParameters
               {
                   Documents = documentsToSave,
                   Organization = organization,
                   UserEmail = userEmail
               });
        return result;
    }
}

}
命名空间OpenIdProviderRole.Services
{
公共类FEUserDocumentationManager:BaseManager
{
公共字符串保存文档(字符串文档保存、字符串组织、字符串用户电子邮件)
{
FEInterRoleCommunicator communicator=新的FEInterRoleCommunicator();
字符串结果=communicator.SendCommand(“保存文档”,
新的Shared.DTOs.Parameters.SaveDocumentsParameters
{
Documents=documentsToSave,
组织=组织,
UserEmail=UserEmail
});
返回结果;
}
}
}

我想拆分文档以保存参数,以便服务总线接受我的消息。

要将长字符串拆分为多个短字符串的集合,请使用。比如:

var slices = Enumerable.Range(0, longString.Length/ blockSize + 1)
   .Select(blockIndex => longString.Substring(
       startIndex: blockIndex * blockSize, 
       length: Math.Min(longString.Length - blockIndex * blockSize, blockSize)));

请注意,对字符串进行切片的方法需要发送多条消息以满足消息大小上限,从而正确地将它们合并回另一端。更好的方法是将较大的数据存储在blob存储器(或类似的大型对象存储器)中,并传递blob ID而不是内容。

将映像转储到存储器,并通过服务总线传递ID?对于字符串问题,您需要显示一些代码,因为不清楚您到底要拆分什么-没有“将图像转换为字符串”的标准方法-所以很难猜测。通常你会用你选择的语言将字符串拆分为
string.substring
;我们需要看到将图像转换成字符串的代码