在使用FormData对象将文件附加到请求时,我一直在尝试找到一种在XMLHttpRequest对象上设置自己边界的方法.我已经看过很多帖子,每个人都说"只是不设置边界,它会自动为你生成." 这不是我想要的.让我解释一下我需要什么,所以我没有得到这些回应.
我有一个Web服务端点,我发送一个包含两个图像和一些json数据的multipart/form-data请求.由于WCF没有任何方法来解析多部分请求,我使用一些开源代码构建了自己的解析器.它的工作方式是,我定义了一个边界,用于分隔请求的每个部分,并从那里一切工作hunky dory.因此,我必须能够将边界设置为服务器代码所期望的,以便我的解析类能够在输入流中找到任何内容.
我知道这可以做到,因为我已经使用Fiddler这样做了,并且同事能够在我们正在构建的应用程序中调用我的方法,但我正在尝试使用名为Postman的Chrome浏览器应用程序来使用它.使用FormData对象发送多部分请求.除了请求生成自己的边界之外,它的工作原理是:
----WebKitFormBoundaryQUWQnB6c7TzNzdcz
Run Code Online (Sandbox Code Playgroud)
并且末尾的附加字符串是随机生成的,因此它永远不会相同,因此我无法使用此工具来测试我的端点,因为服务器无法知道要查找的边界.
我已经尝试使用我的边界设置Content-Type标头,并且当请求显示添加到请求的标头时,主体仍然使用随机边界.
所以问题是如何告诉FormData对象和/或XMLHttpRequest对象使用我的边界而不是生成的随机边界?
我无法想象这是一件不寻常的事情,我的意思是到现在为止我所有使用multipart/form-data的服务的经验都告诉我在api中设置边界是什么,没有人说"只是不要设置它,我们将使用生成的随机垃圾..."
另外作为一个视觉,这是我在标题中看到的:
Request Headers
POST /DHICachet.svc/json/DepositCheck HTTP/1.1
Host: dhiibews.securexfr.com
Connection: keep-alive
Content-Length: 514696
Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11
Content-Type: multipart/form-data; boundary=myboundary
Cache-Control: no-cache
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: ASP.NET_SessionId=zdepe2nhkz0vbhxiulzc2qq1
Request Payload
------WebKitFormBoundaryQUWQnB6c7TzNzdcz
Content-Disposition: form-data; name="item"; filename="Screen shot 2012-09-03 at 4.00.10 AM.png"
Content-Type: image/png
------WebKitFormBoundaryQUWQnB6c7TzNzdcz--
Run Code Online (Sandbox Code Playgroud)
请注意,即使我的边界设置myboundary在请求标头中,主体也会放置在幕后生成的任何边界.另请注意,如果我没有设置该标头,则只需将其置于其中的随机边界.
我刚刚开始玩Geektool和applescripting让我的Mac桌面变得有趣,我遇到了一个似乎无法找到答案的问题.你如何从osascript命令获得当前的歌曲播放时间?我已经找到了很多资源,如何在命令行上使用iTunes和osascript做任何其他事情,但似乎没有人关心显示当前的播放时间.谢谢!我假设它将是这样的:
osascript -e 'tell application "iTunes" to time of current track'
Run Code Online (Sandbox Code Playgroud)
我已经试过了,它告诉我这首歌有多长.我想知道它玩了多久.
如何将HTML格式粘贴到C#中的String对象中?
这就是我所拥有的:
c.DepartmentAbbr.ToString() + " - (" + c.DepartmentName.ToString() + ")"
Run Code Online (Sandbox Code Playgroud)
其中c.DepartmentAbbr.ToString()和c.DepartmentName.ToString()都是使用LINQ从数据上下文中选择的字段.
这是我本来想要的:
"<b>" + c.DepartmentAbbr.ToString() + "</b> - (" + c.DepartmentName.ToString() + ")"
Run Code Online (Sandbox Code Playgroud)
所以第一个单词以粗体显示.上面只显示带有粗体标签和所有内容的文字文本.我假设我需要使用String.Format,但我找不到一个很好的例子来帮助我知道如何使用它来做我想要的.
以下是我认为不重要的一些细节,但我认为现在必须这样.
这是我正在使用的控件.ASPX代码:
<telerik:RadComboBox ID="rcbDepartments" runat="server" AppendDataBoundItems="True"
AutoPostBack="true" NoWrap="true" Width="250px">
<Items>
<telerik:RadComboBoxItem Text="All Departments" Value="-1" />
</Items>
</telerik:RadComboBox>
Run Code Online (Sandbox Code Playgroud)
我正在使用C#中的LINQ向此控件添加项目:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var abbr = from c in DB.Departments
where c.DepartmentAbbr != "BInst"
select c;
foreach (var c in abbr)
{
String s = String.Format("{0} - ({1})", c.DepartmentAbbr, …Run Code Online (Sandbox Code Playgroud)