私はユーザーからの文字列入力をファイル名に追加しようとしています。
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name="userfile"; filename= ".jpg"rn"] dataUsingEncoding:NSUTF8StringEncoding]];
.jpgの前にフィールドの入力を追加するテキストフィールドがあります。私は見つけることができる文字列のもので遊んできたが、それらを上に置く方法を知らない。
あなたの質問が明快さに欠けているので、私はいくつかの仮定をしなければならないが…
bodyが NSMutableData
オブジェクトであると仮定します。
UITextField
の名前が「textFieldName」であると仮定します。
たとえば、textFieldNameに ‘TextInTextField’というテキストが含まれているとします。
‘ Content-Disposition:form-data;という文字列を生成する場合は、 name =
"userfile"; filename = "TextInTextField.jpg"
‘を入力して、これを行います:
NSString *formattedString = [NSString stringWithFormat:@"Content-Disposition: form-data; name="userfile"; filename= "%@.jpg"rn",textFieldName.text];
The stringWithFormat:
&
initWithFormat:
methods of NSString take multiple
arguments. The first is a format, or template, that is used by
inserting data (from the following arguments), in this case a
string, into said format. You indicate where to insert the data
with a %@
or %i
and so on. In this case
you would use %@
to insert a string.
もちろんこれは元のappendDataにネストすることができます:
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name="userfile"; filename= "%@.jpg"rn",textFieldName.text] dataUsingEncoding:NSUTF8StringEncoding]];